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

Quan sát cách tuyệt vời này để chuyển đổi $_POST của bạn thành một mảng được lập chỉ mục bằng số:

$numerical = array_values($_POST);


Nhưng nếu bạn muốn bảo quản chìa khóa của mình thì sao? Có lẽ bạn muốn một cái gì đó như thế này?

$numerical = array();
$sep = ':';

foreach($_POST as $k=>$v)
{
  $numerical[] = $k.$sep.$v;
}

$ số sau đó sẽ có:

Array
(
    [0] => fieldnames:36771X21X198|36771X21X199|36771X21X200|36771X21X201|36771X21X202
    [1] => 36771X21X198:3434343
    [2] => display36771X21X198:on
    [3] => 36771X21X199:5656565
    [4] => display36771X21X199:on
    [5] => 36771X21X200:89898989
    [6] => display36771X21X200:on
    [7] => 36771X21X201:90909090
    [8] => display36771X21X201:on
    [9] => 36771X21X202:12121212
    [10] => display36771X21X202:on
    [11] => move:movesubmit
    [12] => move2:ONLINE Submit
    [13] => thisstep:1
    [14] => sid:36771
    [15] => token:1234567890
)

Hoặc, ví dụ cuối cùng của tôi:

$fieldnames_original = explode('|', $_POST['fieldnames']);
$fieldnames_actual = array();
$values = array();

foreach($_POST as $k=>$v)
{
  if($k!='fieldnames')
  {
    $fieldnames_actual[] = $k;
    $values[] = $v;
  }
}

sẽ đặt 3 mảng:

$fieldnames_original:

Array
(
    [0] => 36771X21X198
    [1] => 36771X21X199
    [2] => 36771X21X200
    [3] => 36771X21X201
    [4] => 36771X21X202
)

$fieldnames_actual:

Array
(
    [0] => 36771X21X198
    [1] => display36771X21X198
    [2] => 36771X21X199
    [3] => display36771X21X199
    [4] => 36771X21X200
    [5] => display36771X21X200
    [6] => 36771X21X201
    [7] => display36771X21X201
    [8] => 36771X21X202
    [9] => display36771X21X202
    [10] => move
    [11] => move2
    [12] => thisstep
    [13] => sid
    [14] => token
)

và $ giá trị:

Array
(
    [0] => 3434343
    [1] => on
    [2] => 5656565
    [3] => on
    [4] => 89898989
    [5] => on
    [6] => 90909090
    [7] => on
    [8] => 12121212
    [9] => on
    [10] => movesubmit
    [11] => ONLINE Submit
    [12] => 1
    [13] => 36771
    [14] => 1234567890
)

9 năm trước

Tôi có một mảng kết hợp sâu nhiều cấp. Tôi muốn chuyển đổi nó thành một mảng được lập chỉ mục (nghĩa là xóa tên khóa). Tôi không muốn làm phẳng nó; Tôi muốn nó vẫn là một mảng lồng với tất cả các giá trị còn nguyên vẹn. Cách tốt nhất để thực hiện điều này là gì?

Câu trả lời được đề xuất

Tôi nhanh chóng kết hợp chức năng đệ quy này.

function assoc2indexedMulti($arr) {

    // initialize destination indexed array
    $indArr = array();

    // loop through source
    foreach($arr as $val) {

        // if the element is array call the recursion
        if(is_array($val)) {

            $indArr[] = assoc2indexedMulti($val);

        // else add the value to destination …

Nhảy để đăng

Tất cả 3 câu trả lời

Pritaeas2.114 ¯ \ _ (ツ) _/¯ áp phích ModeratorFeatured 2,114 ¯\_(ツ)_/¯ Moderator Featured Poster

9 năm trước

Tôi có một mảng kết hợp sâu nhiều cấp. Tôi muốn chuyển đổi nó thành một mảng được lập chỉ mục (nghĩa là xóa tên khóa). Tôi không muốn làm phẳng nó; Tôi muốn nó vẫn là một mảng lồng với tất cả các giá trị còn nguyên vẹn. Cách tốt nhất để thực hiện điều này là gì?

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

Câu trả lời được đề xuất 356 Humble servant Featured Poster

9 năm trước

Tôi nhanh chóng kết hợp chức năng đệ quy này.

function assoc2indexedMulti($arr) {

    // initialize destination indexed array
    $indArr = array();

    // loop through source
    foreach($arr as $val) {

        // if the element is array call the recursion
        if(is_array($val)) {

            $indArr[] = assoc2indexedMulti($val);

        // else add the value to destination array
        } else {

            $indArr[] = $val;
        }
    }

    return $indArr;
}

Nhảy để đăng

Tất cả 3 câu trả lời 3,280 The Queen of DaniWeb Administrator Featured Poster Premium Member

9 năm trước

Tôi có một mảng kết hợp sâu nhiều cấp. Tôi muốn chuyển đổi nó thành một mảng được lập chỉ mục (nghĩa là xóa tên khóa). Tôi không muốn làm phẳng nó; Tôi muốn nó vẫn là một mảng lồng với tất cả các giá trị còn nguyên vẹn. Cách tốt nhất để thực hiện điều này là gì?

Câu trả lời được đề xuất

Tôi nhanh chóng kết hợp chức năng đệ quy này.

Làm thế nào để truy cập các yếu tố mảng kết hợp trong PHP?

Các yếu tố của một mảng kết hợp chỉ có thể được truy cập bởi các khóa tương ứng. Vì không có lập chỉ mục nghiêm ngặt giữa các khóa, việc truy cập các phần tử thông thường bằng chỉ số số nguyên là không thể trong PHP. Mặc dù hàm mảng_Keys () có thể được sử dụng để có được một mảng các khóa được lập chỉ mục cho một mảng kết hợp.. As there is not strict indexing between the keys, accessing the elements normally by integer index is not possible in PHP. Although the array_keys() function can be used to get an indexed array of keys for an associative array.

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

Một mảng là một loại biến có thể chứa một số giá trị cùng một lúc.Có ba loại mảng, cụ thể là: mảng được lập chỉ mục - một mảng có khóa số.Mảng liên kết - Một mảng trong đó mỗi khóa có giá trị cụ thể riêng.Indexed array - An array with a numeric key. Associative array — An array where each key has its own specific value.

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 để chuyển đổi mảng thành mảng chỉ mục 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ị.