2016-11-11 109 views
0

我有一个问题给你。 我的PHP代码由下面的这些数组组成,我的意图是将它们合并为一个,正如您在主题底部所见。这些数组分为2个不同的变量:$ 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"]; 
} 
+2

你有没有尝试什么?或者您希望我们为您编写代码? –

+0

您的编辑不是您尝试的,而是您如何构建阵列。 – JazZ

回答

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('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 
} 

我希望它能帮助

+0

非常感谢。作品!只有一个问题....如何选择值是否为NULL?我试图与此代码,但没有成功: '的foreach($结果作为$密钥=> $值){' \t'如果($值> 0)' '{' \t \t'回声“在errore “;' \t'} ELSEIF($值== 0)' \t''{ \t \t'回声 ” TUTTO行“ ;' \t'}' \t'ELSEIF($值== “N/d”)' \t''{ \t \t'echo“​​”;' \t'}' '}' –

+0

use:'elseif($ value === NULL)'匹配NULL值。没问题。快乐编码! – Learner

相关问题