Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用多维数组中的值重新索引数组_Php_Arrays_Laravel - Fatal编程技术网

Php 使用多维数组中的值重新索引数组

Php 使用多维数组中的值重新索引数组,php,arrays,laravel,Php,Arrays,Laravel,我有一个从db laravel select返回的数组结构,如下所示: array:219 [▼ 0 => {#236 ▼ +"mID": "101" +"qAVG": "6.44444" } 1 => {#235 ▼ +"mID": "102" +"qAVG": "4.15068" } Array = array( 101 => array( 'qAVG' => 6.44444

我有一个从db laravel select返回的数组结构,如下所示:

array:219 [▼
  0 => {#236 ▼
    +"mID": "101"
    +"qAVG": "6.44444"
  }
  1 => {#235 ▼
    +"mID": "102"
    +"qAVG": "4.15068"
  }
Array = array(
  101 => array(
           'qAVG' => 6.44444
            ),

  101 => array(
           'qAVG' => 4.15068
            )
)
除了在整个数组中循环并创建一个新变量外,PHP中是否有一个函数可以生成如下内容:

array:219 [▼
  0 => {#236 ▼
    +"mID": "101"
    +"qAVG": "6.44444"
  }
  1 => {#235 ▼
    +"mID": "102"
    +"qAVG": "4.15068"
  }
Array = array(
  101 => array(
           'qAVG' => 6.44444
            ),

  101 => array(
           'qAVG' => 4.15068
            )
)

是的,有一个函数用于此,它允许您从多维数组中提取特定元素和/或通过特定元素对结果进行索引。这两方面也是如此:

$result = array_column($array, 'qAVG', 'mID');
如果子数组包含更多元素,并且您也需要它们,则只需重新编制索引:

$result = array_column($array, null, 'mID');

是的,有一个函数用于此,它允许您从多维数组中提取特定元素和/或通过特定元素对结果进行索引。这两方面也是如此:

$result = array_column($array, 'qAVG', 'mID');
如果子数组包含更多元素,并且您也需要它们,则只需重新编制索引:

$result = array_column($array, null, 'mID');

如果没有在Laravel中转换为数组,则可以使用收集函数
pull()

第一个论点是拔出什么,第二个论点是用什么作为钥匙。它非常适合用选项填充选择下拉列表

与上述注释类似,如果您需要其他列:

DB::table('foo')->get()->keyBy('mID');

如果没有在Laravel中转换为数组,则可以使用收集函数
pull()

第一个论点是拔出什么,第二个论点是用什么作为钥匙。它非常适合用选项填充选择下拉列表

与上述注释类似,如果您需要其他列:

DB::table('foo')->get()->keyBy('mID');

不,不可能在数组的同一级别上有重复的键。(
101
)不,在数组的同一级别上不可能有重复的键。(
101