PHP在键值上匹配两个数组(如mysql join)
有没有一种方法可以基于一个键中的相同值连接两个数组? 例如,在MySQL中,当两个字段中的值相同时,可以将两个表左键联接 第一个名为“phoneArr”的数组具有个人id和电话号码 第二个数组名为“clientDate”,它具有个人id和约会日期 以下是阵列:PHP在键值上匹配两个数组(如mysql join),php,arrays,multidimensional-array,matching,Php,Arrays,Multidimensional Array,Matching,有没有一种方法可以基于一个键中的相同值连接两个数组? 例如,在MySQL中,当两个字段中的值相同时,可以将两个表左键联接 第一个名为“phoneArr”的数组具有个人id和电话号码 第二个数组名为“clientDate”,它具有个人id和约会日期 以下是阵列: $phoneArr = array(); $phoneArr[0]['person_id'] = "123456"; $phoneArr[0]['phone'] = "555-2222"; $phoneArr[1]['person_i
$phoneArr = array();
$phoneArr[0]['person_id'] = "123456";
$phoneArr[0]['phone'] = "555-2222";
$phoneArr[1]['person_id'] = "7654321";
$phoneArr[1]['phone'] = "555-1111";
$clientDate = array();
$clientDate[0]['person_id'] = "123456";
$clientDate[0]['date_time'] = "01-07-13 13:00";
$clientDate[1]['person_id'] = "7654321";
$clientDate[1]['date_time'] = "01-07-13 10:30";
现在,如果clientDate中的person id将始终存在于phoneArr中,而不是其他wat中。phoneArr中的人员并不总是存在于clientDate中
我想要的是得到这些数组的一个匹配项,其中我将得到一个新数组,其中包含两个数组的信息,但只有“person_id”上有一个匹配项
这是没有MySQL的吗?
< P>如果你要用键值查找数据,并且该键值在表中是唯一的,你可以考虑使用它作为数组键,所以你的$PoSerEr将被设置为:$phoneArr["123456"]['phone'] = "555-2222";
$phoneArr["7654321"]['phone'] = "555-1111";
对另一个数组执行相同的操作
然后你可以:
foreach ($phoneArr AS $id=>$record) {
if (array_key_exists($id,$clientDate)) {
// the client id is $id, $record has their phone #, and $clientDate[$id] has their date/time
// do something with it here - either process it (preferable) or put the data in another array.
}
}
太好了,我会调查的。我需要在其他地方做一些更改,因为我不会在脚本中键入这些数组,而是使用for循环创建它们。