Hướng dẫn convert indexed array to simple array php - chuyển đổi mảng được lập chỉ mục thành mảng php đơn giản

8

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.

Tôi đang cố gắng chuyển đổi mảng được lập chỉ mục thành mảng bình thường. Về cơ bản những gì nhận được là:

Array ( [0] => 14 [1] => 19 [2] => 20 )

Và tôi cần là:

Array(14,19,20);

Tôi đã thử qua Google nhưng không tìm thấy thông tin. Tôi nghĩ rằng loại chức năng này không có sẵn trong PHP, có không? làm ơn cho tôi biết!

Cảm ơn, Asif

hỏi ngày 31 tháng 7 năm 2013 lúc 20:16Jul 31, 2013 at 20:16

Hướng dẫn convert indexed array to simple array php - chuyển đổi mảng được lập chỉ mục thành mảng php đơn giản

Bạn đang theo đuổi bóng tối: Cả hai mảng bạn đã hiển thị đều bằng nhau.
Both of the arrays you've shown are equal.

Không có thứ gọi là một mảng chưa được giới thiệu trong PHP.

Nhưng nếu bạn thực sự muốn chắc chắn, hãy sử dụng $newArray = array_values($array)

Đã trả lời ngày 31 tháng 7 năm 2013 lúc 20:17Jul 31, 2013 at 20:17

MightyPorkMightyPorkMightyPork

17.8K10 Huy hiệu vàng75 Huy hiệu bạc129 Huy hiệu đồng10 gold badges75 silver badges129 bronze badges

11

Việc giảm một mảng đa chiều được lập chỉ mục bằng số xuống một mảng đơn giản có thể đạt được dễ dàng bằng cách kết hợp array_merge() với toán tử ‘splat, (...).

Điều này sử dụng khái niệm giải nén đối số. Nó có thể thực sự hữu ích nếu bạn bắt đầu với một mảng mảng được lập chỉ mục bằng số và bạn cần kết hợp chúng thành một mảng đơn giản của các cặp giá trị khóa.

Điểm khởi đầu


// The Array
$array = [
    ['key1' => 'val1', 'key2'=>'val2'],
    ['key3' => 'val3'],
    ['key4' => 'val4'],
    ['key5' => [
        'A' => 'foo',
        'B' => 'bar'
        ]
    ]
];

Đầu ra của var_dump($array) trông như thế này:

array (size=4)
  0 =>
    array (size=2)
      'key1' => string 'val1' (length=4)
      'key2' => string 'val2' (length=4)
  1 =>
    array (size=1)
      'key3' => string 'val3' (length=4)
  2 =>
    array (size=1)
      'key4' => string 'val4' (length=4)
  3 =>
    array (size=1)
      'key5' =>
        array (size=2)
          'A' => string 'foo' (length=3)
          'B' => string 'bar' (length=3)

Hoạt động

Giả sử rằng bạn đang sử dụng Php phiên bản 5.6 trở lên (và bạn nên), bạn có thể chạy mảng qua array_merge() bằng toán tử ‘splat,:


$newArray = array_merge(...$array));

Theo tôi hiểu (xin vui lòng sửa cho tôi thông qua một bình luận nếu tôi có điều này sai):

  • array_merge() chấp nhận một mảng ban đầu cùng với một danh sách các mảng biến để hợp nhất.
  • Sử dụng toán tử splat splat, bảo PHP giải nén mảng đầu vào thành các biến.
  • Trong trường hợp của chúng tôi, các biến này là các mảng, bởi vì điểm nhìn chằm chằm là một mảng mảng - vì vậy chúng tôi đã chuyển nhiều mảng vào array_merge() để xử lý.
  • Bởi vì mỗi biến là một mảng số ít, chúng không còn được lập chỉ mục bằng số.
  • array_merge() sẽ hợp nhất nhiều mảng và mảng đầu ra là mảng kết hợp, được lập chỉ mục bởi các phím.

Kết quả

Đầu ra của

Array(14,19,20);
4 trông như thế này:

array (size=5)
  'key1' => string 'val1' (length=4)
  'key2' => string 'val2' (length=4)
  'key3' => string 'val3' (length=4)
  'key4' => string 'val4' (length=4)
  'key5' =>
    array (size=2)
      'A' => string 'foo' (length=3)
      'B' => string 'bar' (length=3)

Bên cạnh: Tại sao SPLAT?

Tôi không biết rằng việc giải nén các đối số về mặt kỹ thuật là một hoạt động của người Viking, vì vậy ... có thể không thực sự là một nhà điều hành, và nó không giống như một thứ gì đó mà Gone đã ra mắt. Tôi đã đọc rằng biểu tượng cho điều này là trong Ruby,*, và đây là nơi có thuật ngữ bắt nguồn.

Người giới thiệu

  • Php 5.6 và toán tử splat splat

Làm cách nào để thay đổi chỉ mục của một phần tử mảng trong PHP?

Chúng tôi sẽ sử dụng hàm Array_Values ​​() để lấy tất cả các giá trị của hàm mảng và phạm vi () để tạo một mảng các phần tử mà chúng tôi muốn sử dụng làm khóa mới hoặc chỉ mục mới của mảng (tái phát). Sau đó, hàm mảng_combine () sẽ kết hợp cả mảng làm khóa và giá trị.use array_values() function to get all the values of the array and range() function to create an array of elements which we want to use as new keys or new index of the array (reindexing). Then the array_combine() function will combine both the array as keys and values.

Sự khác biệt giữa mảng được lập chỉ mục và mảng kết hợp là gì?

Mảng được lập chỉ mục: Mảng được lập chỉ mục là một mảng có khóa số.Về cơ bản, nó là một mảng trong đó mỗi khóa được liên kết với giá trị cụ thể của riêng nó.... PHP ..

Mảng được lập chỉ mục trong PHP là gì?

Mảng được lập chỉ mục PHP là một mảng được biểu thị bằng số chỉ mục theo mặc định.Tất cả các phần tử của mảng được biểu thị bằng một số chỉ mục bắt đầu từ 0. Mảng được lập chỉ mục PHP có thể lưu trữ số, chuỗi hoặc bất kỳ đối tượng nào.Mảng được lập chỉ mục PHP còn được gọi là mảng số.an array which is represented by an index number by default. All elements of array are represented by an index number which starts from 0. PHP indexed array can store numbers, strings or any object. PHP indexed array is also known as numeric array.

Đó là cách đúng để tạo mảng được lập chỉ mục trong PHP?

Để tạo một mảng, bạn sử dụng cấu trúc mảng (): $ myArray = mảng (giá trị);Để tạo một mảng được lập chỉ mục, chỉ cần liệt kê các giá trị mảng bên trong dấu ngoặc đơn, được phân tách bằng dấu phẩy.list the array values inside the parentheses, separated by commas.