Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP在键值上匹配两个数组(如mysql join)_Php_Arrays_Multidimensional Array_Matching - Fatal编程技术网

PHP在键值上匹配两个数组(如mysql join)

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

有没有一种方法可以基于一个键中的相同值连接两个数组? 例如,在MySQL中,当两个字段中的值相同时,可以将两个表左键联接

第一个名为“phoneArr”的数组具有个人id和电话号码 第二个数组名为“clientDate”,它具有个人id和约会日期

以下是阵列:

$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循环创建它们。