用value's数组检查key's数组,并将其设置为value


Check key's array with value's array and set it as value

我有一个问题要问你。我的PHP代码由下面这些数组组成,我的目的是将它们合并为一个数组,正如您在主题底部看到的那样。这些数组被分成两个不同的变量:$array1和$array2。

Array ($array1)
(
    [0] => 2016-11-11
    [1] => 2016-11-10
    [2] => 2016-11-09
    [3] => 2016-11-08
    [4] => 2016-11-07
    [5] => 2016-11-06
    [6] => 2016-11-05
)
1
Array ($array2)
(
    [2016-11-11] => 0
    [2016-11-10] => 0
    [2016-11-08] => 0
    [2016-11-07] => 0
    [2016-11-06] => 0
)
1

我希望这个程序做的是:

Array
(
    [2016-11-11] => 0,
    [2016-11-10] => 0,
    [2016-11-09] => NULL,
    [2016-11-08] => 0,
    [2016-11-07] => 0,
    [2016-11-06] => 0,
    [2016-11-05] => NULL
)
1

我如何设置我的代码,使它返回我之前的数组?我该如何解决这个问题?有人能帮我吗?

我试着:

$array1 = array( 
    "2016-11-11", 
    "2016-11-10", 
    "2016-11-09", 
    "2016-11-08",
    "2016-11-07",
    "2016-11-06",
    "2016-11-05"
);
$array2 = array();
while($row1 = $result1->fetch_assoc())
{
    $array2[$row1["datesend"]] = $row1["error"];
}

下面的代码将为您工作:

$array1 = array('2016-11-11','2016-11-10','2016-11-09','2016-11-08','2016-11-07','2016-11-06','2016-11-05');
$array2 = array('2016-11-11' => 0,'2016-11-10' => 0,'2016-11-08' => 0,'2016-11-07' => 0,'2016-11-06' => 0);
$result = array();
foreach($array1 as $a){
    if(isset($array2[$a]))
        $result[$a] = $array2[$a];
    else
        $result[$a] = NULL;
}
echo '<pre>';
var_dump($result);
echo '</pre>'

Outpur是:

array(7) {
  ["2016-11-11"]=>
  int(0)
  ["2016-11-10"]=>
  int(0)
  ["2016-11-09"]=>
  NULL
  ["2016-11-08"]=>
  int(0)
  ["2016-11-07"]=>
  int(0)
  ["2016-11-06"]=>
  int(0)
  ["2016-11-05"]=>
  NULL
}

希望对大家有所帮助