Php 匹配两个数组
第一个数组是Php 匹配两个数组,php,arrays,Php,Arrays,第一个数组是 $first = Array(0=>orange; 1=>apple; 2=>grapes) 第二个数组很复杂 Array ( [0] => Array ( [fruits] => Array ( [0] => Array (
$first = Array(0=>orange; 1=>apple; 2=>grapes)
第二个数组很复杂
Array
(
[0] => Array
(
[fruits] => Array
(
[0] => Array
(
[0] =>orange
[1] => apple
)
[1] => grapes
)
[price] => 69.0 )
[1] => Array
(
[fruits] => Array
(
[0] =>orange
[1] => grape
)
[price] => 40
)
}
第二个数组是从上一个数组搜索生成的。以前,值在一个循环中。匹配阵列是否可行。如果是的话,请给我一个提示。我尝试了几个选项,但都没有结果。我不知道你为什么用javaIt’s ok来标记它。标签非常有用,因此成员可以找到他们了解的问题,并有希望回答这些问题。所以使用合适的标签会给你更好的帮助。为什么橙色和苹果在一个新的阵列中,而不是葡萄?出于好奇,那么,当你说要匹配数组时,你的意思是检查差异吗?@William Isted:因为橙色和苹果在另一个数组中找到。从xml转换为数组时,结果如上所示。@劳伦斯·切隆。我想匹配两个数组,这样我可以交换价格。
function findMatches( $query, $arrayOfArrays) {
$ret = array();
foreach( $arrayOfArrays as $array) {
if( matches( $array, $query) ) {
$ret[] = $array;
}
}
return $ret;
}
function matches( $array, $query) {
foreach( $query as $key => $value) {
if( !isset( $array[$key]) || $array[$key] != $value) {
return false;
}
}
return true;
}
$isMatching = findMatches($needleArray, $hayStackArray);