簡體   English   中英

將數組映射到php中的鍵值對

[英]map array to key value pair in php

我有以下數組:

    array (size=2)
      'filename' => 
        array (size=2)
          0 => string 'f1' (length=2)
          1 => string 'f2' (length=2)
      'url' => 
        array (size=2)
          0 => string 'u1' (length=2)
          1 => string 'u2' (length=2)

我想這樣映射它:

array (size=2)
  0 => 
    array (size=2)
      'filename' => string 'f1' (length=2)
      'url' => string 'u1' (length=2)
  1 => 
    array (size=2)
      'filename' => string 'f2' (length=2)
      'url' => string 'u2' (length=2)

在不知道調用什么鍵(文件名和URL)的情況下,我將如何編寫此類映射。 更大的陣列也可能嗎?

這個怎么樣:

foreach ($startArray as $key1 => $value1) {
    foreach ($value1 as $key2 => $value2) {
        $endArray[$key2][$key1] = $value2;
    }
}

該解決方案將足夠靈活以處理任何大小的陣列。

將數組作為$ startArray:

$result = array();
$counter = 0;
while ( count ( array_values($startArray)[0] ) < $counter - 1 ) {
    $result[] = add_array( $startArray, $counter );
    $counter++;
}
function add_array( $array, $index ) {
    $result = array();
    foreach ( $array as $array_key => $array_value ) {
        $result[$array_key] = $array_value[$index];
    }
    return $result;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM