2017-11-25 2 views
0

Ich brauche etwas Hilfe. Ich muss den Wert einfügen, wenn er im Benutzereingabearray mit PHP und MySQL vorhanden ist. Ich erkläre meine Tabelle unten.Wie überprüft man den Wert in einem Array und fügen Sie den Wert in die Datenbank mit PHP

db_images:

id   image  subcat_id 

Hier muss ich in obiger Tabelle als die folgende json Arraywert einzufügen.

$subcat=array(array("id"=>63),array("id"=>64)); 
$imageArr=array(array("image"=>"abc.png","id"=>63)); 

Hier muss ich sowohl Array übereinstimmen, wenn irgendein Wert von $subcat Array im Inneren der zweiten ist (i.e-$imageArr) -Array dann das resepective Bild in die Tabelle einfügen wird und wenn nicht vorhanden, um den der Rohling Bildwert wird Einsatz mit die entsprechende subcat_id. Bitte helfen Sie.

Antwort

2

Für jedes Element in der subcat Array, können Sie auf der imageArr laufen und überprüfen, ob die IDs übereinstimmen (verschachtelte Schleife), wie folgt aus:

foreach($subcat as $s) { 
    $flag = false; 

    foreach($imageArr as $i) { 
     if ($s['id'] == $i['id']) { 
      // insert ($i['image'], $s['id']) into db 
      $flag = true; 
      break; 
     } 
    } 

    if ($flag == false) { 
     // insert $s['id'] into db 
    } 
} 
0

Hallo Sie können auch mit den in der folgenden Art und Weise zu tun Hilfe von array_column und in_array mit Schleife reduziert.

<?php 

$subcat=array(array("id"=>63),array("id"=>64)); 
$imageArr=array(array("image"=>"abc.png","id"=>63), array("image"=>"abc.png","id"=>65)); 

foreach($imageArr as $image){ 
    /* array_column will do the job with in_array to search in the multi dimension array */ 
    if(in_array($image['id'], array_column($subcat, 'id'))){ 
     echo 'exists'. $image['id'].'<br>'; 
    }else{ 
     echo 'not exists'. $image['id'].'<br>'; 
    } 
} 
+0

Immer '$ subcat' Wert wird in die Datenbank eingefügt. – subhra

+0

Aber nach meinem obigen Beispiel wird es gut funktionieren. Kannst du bitte dein komplettes Array posten, damit ich testen kann? –

Verwandte Themen