Php 基于值从数组中删除元素
我有以下PHP数组(这是一个简化的示例版本)Php 基于值从数组中删除元素,php,arrays,Php,Arrays,我有以下PHP数组(这是一个简化的示例版本)$myarray: Array ( [0] => Array ( [firstName] => Zaphod [show_nav] => yes [lastName] => Beeblebrox ) [1] => Array ( [firstName] => Ford [s
$myarray
:
Array
(
[0] => Array
(
[firstName] => Zaphod
[show_nav] => yes
[lastName] => Beeblebrox
)
[1] => Array
(
[firstName] => Ford
[show_nav] =>
[lastName] => Prefect
)
[2] => Array
(
[firstName] => Arthur
[show_nav] => yes
[lastName] => Dent
)
[3] => Array
(
[firstName] => Tricia
[show_nav] =>
[lastName] => McMillan
)
)
Array
(
[0] => Array
(
[firstName] => Zaphod
[show_nav] => yes
[lastName] => Beeblebrox
)
[1] => Array
(
[firstName] => Arthur
[show_nav] => yes
[lastName] => Dent
)
)
我需要删除show_nav
未设置为yes
的条目,并用结果生成一个新数组。所以之后它看起来像这样-$myarray
:
Array
(
[0] => Array
(
[firstName] => Zaphod
[show_nav] => yes
[lastName] => Beeblebrox
)
[1] => Array
(
[firstName] => Ford
[show_nav] =>
[lastName] => Prefect
)
[2] => Array
(
[firstName] => Arthur
[show_nav] => yes
[lastName] => Dent
)
[3] => Array
(
[firstName] => Tricia
[show_nav] =>
[lastName] => McMillan
)
)
Array
(
[0] => Array
(
[firstName] => Zaphod
[show_nav] => yes
[lastName] => Beeblebrox
)
[1] => Array
(
[firstName] => Arthur
[show_nav] => yes
[lastName] => Dent
)
)
数组可以是任意长度,对于任意数量的条目,show_nav
被设置为yes。我知道如何删除特定条目,但我不确定如何查看数组并根据值删除条目
非常感谢您的帮助 实现这一简单目标的方法不计其数。其中一个使用PHP函数
有无数种方法可以实现这个简单的目标。其中一个使用PHP函数
大堆
(
[0]=>阵列
(
[0]=>黑峡谷城
[1] =>钱德勒
[2] =>Flagstaff
[3] =>吉尔伯特
[4] =>格伦代尔
[5] =>地球仪
)
[1] =>阵列
(
[0]=>Mesa
[1] =>迈阿密
[2] =>凤凰城
[3] =>皮奥里亚
[4] =>普雷斯科特
[5] =>斯科茨代尔
)
[2] =>阵列
(
[0]=>太阳城
[1] =>惊喜
[2] =>坦佩
[3] =>图森
[4] =>威肯堡
)
)
大堆
(
[0]=>阵列
(
[0]=>黑峡谷城
[1] =>钱德勒
[2] =>旗杆
[3] =>吉尔伯特
[4] =>格伦代尔
[5] =>地球仪
)
[1] =>阵列
(
[0]=>Mesa
[1] =>迈阿密
[2] =>凤凰城
[3] =>皮奥里亚
[4] =>普雷斯科特
[5] =>斯科茨代尔
)
[2] =>阵列
(
[0]=>太阳城
[1] =>惊喜
[2] =>坦佩
[3] =>图森
[4] =>威肯堡
)
)
您需要在一个循环中循环,以找到您的“show nav”,并获取测试值(如果为空),如下所示:
cpt = 0;
foreach $my_arary as $users {
foreach $users as line {
if (line['show nav'] === '')
unset($my_array[cpt];
cpt++;
}
}
您需要在一个循环中循环以查找“show nav”,并获取测试值(如果为空):
cpt = 0;
foreach $my_arary as $users {
foreach $users as line {
if (line['show nav'] === '')
unset($my_array[cpt];
cpt++;
}
}
可能重复的阅读更多关于可能重复的阅读更多关于可能重复的阅读更多关于可能重复的阅读这太复杂了。这太复杂了。不,你没有使用现有的PHP函数。不,您没有使用现有的PHP函数。是否会有任何解释与此代码唯一的答案?为什么要使用非正统的条件语法呢?这个只有代码的答案会有什么解释吗?为什么使用非正统的条件语法?