Hướng dẫn convert array to associative array php - chuyển đổi mảng thành mảng kết hợp php

35

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Cách nhanh nhất để chuyển đổi một mảng đơn giản thành một mảng kết hợp trong PHP là gì để các giá trị có thể được kiểm tra trong isset($array[$value])?

I E. Cách nhanh nhất để thực hiện chuyển đổi sau:

$array = array(1, 2, 3, 4, 5);
$assoc = array();

foreach ($array as $i => $value) {
        $assoc[$value] = 1;
}

Hướng dẫn convert array to associative array php - chuyển đổi mảng thành mảng kết hợp php

DREFTYMAC

30.4K26 Huy hiệu vàng116 Huy hiệu bạc178 Huy hiệu đồng26 gold badges116 silver badges178 bronze badges

Khi được hỏi ngày 27 tháng 5 năm 2011 lúc 14:04May 27, 2011 at 14:04

1

Mã của bạn là tương đương chính xác của:

$assoc = array_fill_keys(array(1, 2, 3, 4, 5), 1); // or
$assoc = array_fill_keys(range(1, 5), 1);

array_flip(), trong khi nó có thể hoạt động cho mục đích của bạn, nó không giống nhau.

Php Ref: array_fill_keys(), array_flip()

Hướng dẫn convert array to associative array php - chuyển đổi mảng thành mảng kết hợp php

Joan

5796 Huy hiệu bạc18 Huy hiệu Đồng6 silver badges18 bronze badges

Đã trả lời ngày 27 tháng 5 năm 2011 lúc 14:31May 27, 2011 at 14:31

AXELALIX AXELALIXAlix Axel

149K92 Huy hiệu vàng390 Huy hiệu bạc495 Huy hiệu Đồng92 gold badges390 silver badges495 bronze badges

2

array_flip() đang làm chính xác điều đó: is exactly doing that:

Array_flip () Trả về một mảng theo thứ tự lật, tức là các khóa từ trans trở thành giá trị và giá trị từ trans trở thành khóa. returns an array in flip order, i.e. keys from trans become values and values from trans become keys.

Lưu ý rằng các giá trị của trans cần phải là các khóa hợp lệ, tức là chúng cần phải là số nguyên hoặc chuỗi. Một cảnh báo sẽ được phát ra nếu một giá trị có loại sai và cặp khóa/giá trị trong câu hỏi sẽ không được lật.will not be flipped.

Nếu một giá trị có một số lần xuất hiện, khóa mới nhất sẽ được sử dụng làm giá trị của nó và tất cả các giá trị khác sẽ bị mất.


Nhưng ngoài ra, chỉ có một loại mảng trong PHP. Ngay cả các mảng số ("đơn giản", như bạn gọi nó) là kết hợp.

Đã trả lời ngày 27 tháng 5 năm 2011 lúc 14:08May 27, 2011 at 14:08

Hướng dẫn convert array to associative array php - chuyển đổi mảng thành mảng kết hợp php

Felix Klingfelix KlingFelix Kling

771K172 Huy hiệu vàng1069 Huy hiệu bạc1116 Huy hiệu Đồng172 gold badges1069 silver badges1116 bronze badges

3

Nếu bất cứ ai vẫn đang tự hỏi làm thế nào để làm điều này, thì có một giải pháp dễ dàng hơn cho việc này bằng cách sử dụng chức năng Array_Combine.

$array = array(1, 2, 3, 4, 5);
$assoc = array_combine($array,$array);

Đã trả lời ngày 20 tháng 11 năm 2018 lúc 8:37Nov 20, 2018 at 8:37

3

Đơn giản chỉ cần sử dụng logic này

$var1 = json_encode($arr1, JSON_FORCE_OBJECT);
$var1 = json_decode($var1);

Trong đó $ ARR1 là mảng phải được chuyển đổi thành mảng kết hợp. Điều này có thể đạt được bằng json_encode và json_decode giống nhau

Đã trả lời ngày 14 tháng 5 năm 2018 lúc 13:02May 14, 2018 at 13:02

ThyagithyagiThyagi

1821 Huy hiệu bạc6 Huy hiệu đồng1 silver badge6 bronze badges

function simple_to_associative($array) {
    $new_array = [];
    $i = 0;
    $last_elem = end($array);
    $nr_elems = count($array);
    foreach ($array as $index=>$value) {
        if($i % 2 == 0 && $last_elem == $value) {
            $new_array[$value] = '';
        } elseif($i % 2 == 0) {
            $new_array[$value] = $array[$index + 1];
        }
        $i++;
    }
    return $new_array;
}

Sẽ làm việc trên bất kỳ mảng đơn giản của các yếu tố không giới hạn.

Đã trả lời ngày 18 tháng 7 năm 2019 lúc 16:06Jul 18, 2019 at 16:06

AdrianadrianAdrian

2.2213 huy hiệu vàng33 Huy hiệu bạc71 Huy hiệu đồng3 gold badges33 silver badges71 bronze badges

Làm thế nào để bạn tạo một mảng kết hợp trong PHP?

Ví dụ: Hàm mảng () ở đây được sử dụng để tạo mảng kết hợp.echo "Dấu hiệu cho sinh viên một là: \ n";Echo "Toán học:".array() function is used to create associative array. echo "Marks for student one is:\n" ; echo "Maths:" .

Mảng liên kết trong PHP là gì?

Mảng liên kết - Nó đề cập đến một mảng có chuỗi là một chỉ mục.Thay vì lưu trữ các giá trị phần tử theo thứ tự chỉ mục tuyến tính nghiêm ngặt, điều này lưu trữ chúng kết hợp với các giá trị chính.Nhiều chỉ số được sử dụng để truy cập các giá trị trong một mảng đa chiều, chứa một hoặc nhiều mảng.an array with strings as an index. Rather than storing element values in a strict linear index order, this stores them in combination with key values. Multiple indices are used to access values in a multidimensional array, which contains one or more arrays.

Làm thế nào để bạn gọi một mảng các đối tượng trong PHP?

Các phần tử mảng có thể được truy cập bằng cú pháp [Key] mảng.);var_dump ($ mảng ["foo"]);var_dump ($ mảng [42]);array[key] syntax. ); var_dump($array["foo"]); var_dump($array[42]);

Sự khác biệt giữa mảng và đối tượng trong PHP là gì?

Các đối tượng đại diện cho một loại dữ liệu đặc biệt có thể thay đổi và có thể được sử dụng để lưu trữ một bộ sưu tập dữ liệu (thay vì chỉ một giá trị duy nhất).Mảng là một loại biến đặc biệt cũng có thể thay đổi và cũng có thể được sử dụng để lưu trữ danh sách các giá trị.