Pet*_*ter 5 php arrays multidimensional-array
我有两个这样的多维数组:
$original = Array (
[0] => Array
(
[time] => 1364690340
[memberid] => 90
[type] => single
)
[1] => Array
(
[time] => 1364690341
[memberid] => 92
[type] => fixed
)
[2] => Array
(
[time] => 1364690342
[memberid] => 96
[type] => single
)
)
Run Code Online (Sandbox Code Playgroud)
第二个是这样的
$new = Array (
[0] => Array
(
[time] => 1364825750
[memberid] => 90
[type] => single
)
[1] => Array
(
[time] => 1364825751
[memberid] => 92
[type] => single
)
[2] => Array
(
[time] => 1364825752
[memberid] => 96
[type] => single
)
[3] => Array
(
[time] => 1364825753
[memberid] => 111
[type] => single
)
)
Run Code Online (Sandbox Code Playgroud)
我的问题是:我想基于memberid和类型键搜索$ original数组的匹配,如果memberid和type不相同 - >我想从$ original数组中删除该数组.所以在这种情况下我想保持[0]数组和[2]数组,因为在$ new数组中我有相同的memberid和相同的类型,但是我想删除[1]数组,因为memberid是相同的,但是类型不同.所以我的最终$ original数组看起来像这样:
$original = Array (
[0] => Array
(
[time] => 1364690340
[memberid] => 90
[type] => single
)
[1] => Array
(
[time] => 1364690342
[memberid] => 96
[type] => single
)
)
Run Code Online (Sandbox Code Playgroud)
好了,刚刚测试了一下,它按预期工作了。
// Presuming your two arrays are still called $new & $original
$original = array(); // your data
$new = array(); // your data
$newArray = array();
foreach($original AS $key => $val){
$newArray[$val['memberid'] . '-' . $val['type']] = $val;
}
$original = array();
foreach($new AS $key => $val){
if(isset($newArray[$val['memberid'] . '-' . $val['type']])){
$original[] = $newArray[$val['memberid'] . '-' . $val['type']];
}
}
print_r($original);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5801 次 |
| 最近记录: |