2017-05-26 4 views
1

Hallo Entwickler Ich versuche, ein einzelnes Array in mehrere Array-Wert zu überprüfen und meine genaue Anforderung ist der Wert eines Arrays sollte in jedem Index des zweiten Arrays einchecken und ersetzen, wenn sie sonst in ein neues Array anhängen.Wie überprüft man einen einzelnen Array-Wert in einen anderen multiplen Wert?

Meine zwei Array war wie folgt aus: - Ein Array: -

$array1 = array(
    "extension_date" => "2017-05-19", 
    "extended_date" => "2017-05-27" 
); 

Second Array: -

$array2 = array(
    0 => array(
     "extension_date" => "2017-05-19", 
     "extended_date" => "2017-05-27" 
    ), 
    1 => array(
     "extension_date" => "2017-05-31", 
     "extended_date" => "2017-05-31" 
    ), 
); 

Ich bin es versuchen, von gestern, aber es ist nicht so sein, gelingen mir bitte helfen um dieses Problem zu lösen.

+0

Verwendung foreach() mit == oder === Operator –

+0

zeigen Ihre erwartete löschte – JYoThI

Antwort

0

Hier verwenden wir array_search wenn Nadel nicht existiert dann fügen wir das in Array hinzu.

Try this code snippet here

<?php 

ini_set('display_errors', 1); 

$array1 = array(
    "extension_date" => "2017-05-19", 
    "extended_date" => "2017-05-27" 
); 
$array2 = array(
    0 => array(
     "extension_date" => "2017-05-19", 
     "extended_date" => "2017-05-27" 
    ), 
    1 => array(
     "extension_date" => "2017-05-31", 
     "extended_date" => "2017-05-31" 
    ), 
); 

if(array_search($array1, $array2)===false) 
{ 
    $array2[]=$array1; 
} 
print_r($array2); 
+0

Dank @Sahil Gulati. Es ist mein Problem zu lösen. –

+0

@PawanDongol Willkommen Freund ... :) –

1

Sie können von array_search und array_push machen. Sie müssen nicht ersetzen, wenn Sie das Such-Array im Haupt-Array finden, da es genau dasselbe ist.

$search = [ 
    "extension_date" => "2017-05-19", 
    "extended_date" => "2017-05-27" 
]; 

$data = [ 
    [ 
     "extension_date" => "2017-05-19", 
     "extended_date" => "2017-05-27" 
    ], 
    [ 
     "extension_date" => "2017-05-31", 
     "extended_date" => "2017-05-31" 
    ] 
]; 

if (array_search($search, $data) === false) { 
    array_push($data, $search); 
} 

// $data contains $search if it's missing 
0

Eingänge:

$array1 = array(
    "extension_date" => "2017-05-19", 
    "extended_date" => "2017-05-27" 
); 
$array2 = array(
    array(
     "extension_date" => "2017-05-19", 
     "extended_date" => "2017-05-27" 
    ), 
    array(
     "extension_date" => "2017-05-31", 
     "extended_date" => "2017-05-31" 
    ), 
); 

Methode:

if(!in_array($array1,$array2)){ 
    $array2[]=$array1; 
} 

Da Sie nur zu sehen sind, zu überprüfen, ob die Sub-Array vorhanden ist und Sie über seine Schlüssel nicht kümmern, nicht wahr sinnvoll, array_search() zu verwenden. in_array() wurde speziell entwickelt, um True False zurückzugeben - also benutze es!

var_export($array2) Ausgang:

array (
    0 => 
    array (
    'extension_date' => '2017-05-19', 
    'extended_date' => '2017-05-27', 
), 
    1 => 
    array (
    'extension_date' => '2017-05-31', 
    'extended_date' => '2017-05-31', 
), 
) 
Verwandte Themen