根据php中的另一个数组值取消设置一个数组?
Posted
技术标签:
【中文标题】根据php中的另一个数组值取消设置一个数组?【英文标题】:Unset one Array on the basis of another array value in php? 【发布时间】:2013-11-10 03:47:15 【问题描述】:如何根据另一个数组值删除一个数组索引。 例如-
Array1
(
[0] => @@code
[1] => @@label
[2] => @@name
[3] => @@age
)
Array2
(
[0] => 123jj
[1] => test
[2] => john
[3] => 45
)
Array3
(
[0] => 2 #2 is index to be unset in array1 and array2
[1] => 3 #3 is index to be unset in array1 and array2
)
我有 3 个数组,我想使用 php 根据 array3 的值取消设置 array1 和 array2 索引。我该如何使用 unset() 方法呢?
unset($array1,$array3) #this is wrong, but some thing like that
unset($array2,$array3)
使用 Out for 循环。
我应该得到
Array1
(
[0] => @@code
[1] => @@label
)
Array2
(
[0] => 123jj
[1] => test
)
【问题讨论】:
【参考方案1】:你问了类似的问题并在得到答案后将其删除:
unset array indexs from value of another array?
$firstArray = array( 0 => '@@code' ,1 => '@@label' ,2 => '@@name' ,3 => '@@age' );
$keysArray = array( 0 ,1 );
$resultArray = array_diff_key( $firstArray ,array_flip( $keysArray ) );
var_dump( $resultArray );
【讨论】:
是同一个人吗?我花时间写了一个非常好的答案,却发现问题已被删除:( @Nic 我正在查看那个问题的 OP 的个人资料,发现了这个问题!【参考方案2】:也许你需要这个?
foreach($array3 as $tmp)
unset($array1[$tmp]);
unset($array2[$tmp]);
【讨论】:
我希望它不使用 for 循环。类似 unset($array1,$array3) unset($array2,$array3)以上是关于根据php中的另一个数组值取消设置一个数组?的主要内容,如果未能解决你的问题,请参考以下文章