我有数组A:
我有和输入文本,在这种情况下输入值是level,例如它是5。,结果必须是2。我想从输入文本值中找到数组A中的低层。我不知道如何在PHP中进入。帮帮我,谢谢
level
5
2
j8ag8udp1#
遍历$arrayA的所有数组
foreach($arrayA as $array) { // Check each array has level value 2 or not if ($array['level'] == 2) { // found value echo "found the array"; } }
o0lyfsai2#
要获取具有特定级别2数组,可以使用array_filter(),如下所示:
$result = array_filter($arrayA, function($k) { return $k['level'] == 2; }); print_r($result);
和为了使其成为动态的,要获取parent_ohp_id为空的最低级别,请使用,
parent_ohp_id
$result = array_filter($arrayA, function($k) { return $k['parent_ohp_id'] == "";// this is the root level because it has no parent id }); print_r($result);
busg9geu3#
一种方法是使用usort()函数按level键对表进行排序,然后获取数组的第一个元素:
usort()
<?php $array = [ [ 'john' => 'Snow', 'level' => 5, ], [ 'john' => 'Cena', 'level' => 8, ], [ 'john' => 'Kennedy', 'level' => 2, ], [ 'john' => 'Glenn', 'level' => 12, ], ]; usort($array, function ($a, $b) { return $a['level'] - $b['level']; }); echo current($array)['john']; // This will display "Kennedy".
另一种方法是使用foreach循环,并将level值与前一次迭代进行比较:
foreach
$lowest = $array[0]; foreach ($array as $item) { if ($item['level'] < $lowest['level']) { $lowest = $item; } } echo $lowest['john']; // This will also display "Kennedy".
3条答案
按热度按时间j8ag8udp1#
遍历$arrayA的所有数组
o0lyfsai2#
要获取具有特定级别
2
数组,可以使用array_filter(),如下所示:和为了使其成为动态的,要获取
parent_ohp_id
为空的最低级别,请使用,busg9geu3#
一种方法是使用
usort()
函数按level
键对表进行排序,然后获取数组的第一个元素:另一种方法是使用
foreach
循环,并将level值与前一次迭代进行比较: