Салават Asked:2022-07-27 20:20:51 +0800 CST2022-07-27 20:20:51 +0800 CST 2022-07-27 20:20:51 +0800 CST 如何从嵌套数组中按键获取值? 772 在 Laravel 中,使用查询生成器,我得到$cena_put集合, $product1 = $cena_put->whereIn('id', 71484); 但是每次重新加载页面时它的索引都会改变 找到了一种使用foreach访问嵌套数组的方法: foreach ($product1 as $item) { print_r($item->cena); echo '<pre>'; print_r($cena_put); echo '</pre>'; } 但是,我不太喜欢foreach方法,是否有另一种方法可以绕过其索引从嵌套数组中获取值,因为每次重新加载页面时都会生成一个新值,这可能吗? php laravel 1 个回答 Voted Best Answer Михаил Ребров 2022-07-27T21:42:08+08:002022-07-27T21:42:08+08:00 假设您有一个变量$items,例如Illuminate\Support\Collection 选项编号 1 正如@u_mulder 正确指出的那样,如果您只需要获取第一个元素,则可以使用该方法first $first = $items->first(); 选项编号 2 如果你需要得到一个键值更适合工作的数组,那么你可以简单地得到一个集合值的列表,而无需使用values(). 其实这是一个函数的封装array_values(见文档https://www.php.net/manual/en/function.array-values ) 通过这种方式,您可以获得一个包含所有值的数组(不保存以前的键),并且您已经拥有从零开始的常用键(0,1,2,...); 您可以在索引 0,1 处获取元素,... $first = $items->values()[0]; $second = $items->values()[1]; // ... 选项编号 3 您也可以使用该方法获取集合的所有值,all()并尝试使用该数组进行实验。例如,array_key_first用于找出第一个元素的键。array_keys并通过索引从集合中获取它或使用该函数(https://www.php.net/manual/ru/function.array-keys.php )获取所有键的数组并获取所有相同的必要键键 0, 1,2,... $all = $items->all(); $firstKey = array_key_first($all); $first = $items->get($firstKey); $keys = array_keys($all); $second = $items->get($keys[1]); $third = $items->get($keys[2]); // ...
假设您有一个变量
$items
,例如Illuminate\Support\Collection
选项编号 1
正如@u_mulder 正确指出的那样,如果您只需要获取第一个元素,则可以使用该方法
first
选项编号 2
如果你需要得到一个键值更适合工作的数组,那么你可以简单地得到一个集合值的列表,而无需使用
values()
. 其实这是一个函数的封装array_values
(见文档https://www.php.net/manual/en/function.array-values )通过这种方式,您可以获得一个包含所有值的数组(不保存以前的键),并且您已经拥有从零开始的常用键(0,1,2,...);
您可以在索引 0,1 处获取元素,...
选项编号 3
您也可以使用该方法获取集合的所有值,
all()
并尝试使用该数组进行实验。例如,array_key_first
用于找出第一个元素的键。array_keys
并通过索引从集合中获取它或使用该函数(https://www.php.net/manual/ru/function.array-keys.php )获取所有键的数组并获取所有相同的必要键键 0, 1,2,...