2017-06-01 18 views
0

我在這裏有兩個數組。我已經用它呼應json_encode()檢查數組值是否存在於另一個數組中,如果不存在,則用另一個值替換

$myarray1= [{"date":"2017-04-18","count":"3"},{"date":"2017-04-19","count":"2"},{"date":"2017-04-20","count":"1"},{"date":"2017-04-24","count":"1"},{"date":"2017-04-25","count":"1"},{"date":"2017-05-02","count":"2"},{"date":"2017-05-03","count":"1"},{"date":"2017-05-04","count":"1"},{"date":"2017-05-09","count":"1"},{"date":"2017-05-10","count":"2"},{"date":"2017-05-11","count":"6"},{"date":"2017-05-12","count":"5"},{"date":"2017-05-17","count":"3"},{"date":"2017-05-19","count":"2"},{"date":"2017-05-30","count":"3"}] 

$myarray2= [{"date":"2017-04-18"},{"date":"2017-04-19"},{"date":"2017-04-20"},{"date":"2017-04-21"},{"date":"2017-04-22"},{"date":"2017-04-23"},{"date":"2017-04-24"},{"date":"2017-04-25"},{"date":"2017-04-26"},{"date":"2017-04-27"},{"date":"2017-04-28"},{"date":"2017-04-29"},{"date":"2017-04-30"},{"date":"2017-05-01"},{"date":"2017-05-02"},{"date":"2017-05-03"},{"date":"2017-05-04"},{"date":"2017-05-05"},{"date":"2017-05-06"},{"date":"2017-05-07"},{"date":"2017-05-08"},{"date":"2017-05-09"},{"date":"2017-05-10"},{"date":"2017-05-11"},{"date":"2017-05-12"},{"date":"2017-05-13"},{"date":"2017-05-14"},{"date":"2017-05-15"},{"date":"2017-05-16"},{"date":"2017-05-17"},{"date":"2017-05-18"},{"date":"2017-05-19"},{"date":"2017-05-20"},{"date":"2017-05-21"},{"date":"2017-05-22"},{"date":"2017-05-23"},{"date":"2017-05-24"},{"date":"2017-05-25"},{"date":"2017-05-26"},{"date":"2017-05-27"},{"date":"2017-05-28"},{"date":"2017-05-29"},{"date":"2017-05-30"},{"date":"2017-05-31"},{"date":"2017-06-01"}] 

我將如何檢查是否$myarray2值是$myarray1數組中?

謝謝大家。

+0

使用'array_column'和'array_intersect' –

+0

你的預期輸出是什麼?你的頭銜暗示你想替換一些東西。請在結果數組中顯示您想要的內容。 – mickmackusa

+0

我的預期輸出將是不在$ myarray1內的值。 – QueenElizabeth

回答

1

你可以使用array_intersect

例如:

<?php 
$array1 = array("a" => "green", "red", "blue"); 
$array2 = array("b" => "green", "yellow", "red"); 
$result = array_intersect($array1, $array2); 
print_r($result); 
?> 

更多的文檔閱讀這裏 http://php.net/manual/en/function.array-intersect.php

1

這裏我們使用json_decodearray_columnarray_intersect

Try this code snippet here

<?php 
ini_set('display_errors', 1); 

$string1='[{"date":"2017-04-18","count":"3"},{"date":"2017-04-19","count":"2"},{"date":"2017-04-20","count":"1"},{"date":"2017-04-24","count":"1"},{"date":"2017-04-25","count":"1"},{"date":"2017-05-02","count":"2"},{"date":"2017-05-03","count":"1"},{"date":"2017-05-04","count":"1"},{"date":"2017-05-09","count":"1"},{"date":"2017-05-10","count":"2"},{"date":"2017-05-11","count":"6"},{"date":"2017-05-12","count":"5"},{"date":"2017-05-17","count":"3"},{"date":"2017-05-19","count":"2"},{"date":"2017-05-30","count":"3"}]'; 
$string2='[{"date":"2017-04-18"},{"date":"2017-04-19"},{"date":"2017-04-20"},{"date":"2017-04-21"},{"date":"2017-04-22"},{"date":"2017-04-23"},{"date":"2017-04-24"},{"date":"2017-04-25"},{"date":"2017-04-26"},{"date":"2017-04-27"},{"date":"2017-04-28"},{"date":"2017-04-29"},{"date":"2017-04-30"},{"date":"2017-05-01"},{"date":"2017-05-02"},{"date":"2017-05-03"},{"date":"2017-05-04"},{"date":"2017-05-05"},{"date":"2017-05-06"},{"date":"2017-05-07"},{"date":"2017-05-08"},{"date":"2017-05-09"},{"date":"2017-05-10"},{"date":"2017-05-11"},{"date":"2017-05-12"},{"date":"2017-05-13"},{"date":"2017-05-14"},{"date":"2017-05-15"},{"date":"2017-05-16"},{"date":"2017-05-17"},{"date":"2017-05-18"},{"date":"2017-05-19"},{"date":"2017-05-20"},{"date":"2017-05-21"},{"date":"2017-05-22"},{"date":"2017-05-23"},{"date":"2017-05-24"},{"date":"2017-05-25"},{"date":"2017-05-26"},{"date":"2017-05-27"},{"date":"2017-05-28"},{"date":"2017-05-29"},{"date":"2017-05-30"},{"date":"2017-05-31"},{"date":"2017-06-01"}]'; 

$array1=json_decode($string1,true); 
$array2=json_decode($string2,true); 

print_r(array_intersect(array_column($array1, "date"), array_column($array2,"date"))); 
1

你不想intersect(),你想diff()

Demo

var_export(array_diff(array_column($array2,'date'),array_column($array1,'date'))); 

輸出(不匹配的日期):

array (
    3 => '2017-04-21', 
    4 => '2017-04-22', 
    5 => '2017-04-23', 
    8 => '2017-04-26', 
    9 => '2017-04-27', 
    10 => '2017-04-28', 
    11 => '2017-04-29', 
    12 => '2017-04-30', 
    13 => '2017-05-01', 
    17 => '2017-05-05', 
    18 => '2017-05-06', 
    19 => '2017-05-07', 
    20 => '2017-05-08', 
    25 => '2017-05-13', 
    26 => '2017-05-14', 
    27 => '2017-05-15', 
    28 => '2017-05-16', 
    30 => '2017-05-18', 
    32 => '2017-05-20', 
    33 => '2017-05-21', 
    34 => '2017-05-22', 
    35 => '2017-05-23', 
    36 => '2017-05-24', 
    37 => '2017-05-25', 
    38 => '2017-05-26', 
    39 => '2017-05-27', 
    40 => '2017-05-28', 
    41 => '2017-05-29', 
    43 => '2017-05-31', 
    44 => '2017-06-01', 
) 
相關問題