2017-12-22 1 views
0

Was mache ich falsch? Dieser Code gibt immer nichts zurück. Wie kann in mehreren Arrays gesucht werden?Suchen in Array enthalten mehrere Arrays, wie?

<?php 

    $a = array("x", "c"); 
    $b = array("v", "b"); 
    $c = array("n", "m"); 

    $arrayglobal = array($a, $b, $c); 

    if (array_walk_recursive($arrayglobal,"b")) 
     { 
     print "found"; 
     } 

    else { 
     print "nothing"; 
     } 

?> 
+1

Welchen Code haben Sie verwendet? – sohnryang

+0

array_walk_recursive() könnte Ihnen helfen. –

+0

Entschuldigung, ich korrigiere den Code und füge PHP hinzu, Bitte aktualisieren Sie meinen Code, ich bin nicht faul nur neu mit PHP. – Akspa

Antwort

0

Verwenden array_merge() für kombinieren Array dann Code wie unten angegeben.

<?php 
    $a = array("x", "c"); 
    $b = array("v", "b"); 
    $c = array("n", "m"); 

    $arrayglobal = array_merge($a, $b, $c); 

    if(in_array("b",$arrayglobal)){ 
     print "found"; 
    } 
    else{ 
     print "nothing"; 
    } 
?> 
0

Wenn es nur ein zweidimensionales Array, können Sie einfach Schleife dann prüfen, ob in_array()

$search = 'b'; 
$result = 'nothing'; 

foreach ($arrayglobal as $array) { 
    if (in_array($search, $array)) { 
     $result = 'found'; 
     break; 
    } 
} 

print $result; 
0

Willkommen Überlauf und PHP-Welt zu stapeln. In unserer PHP-Welt haben wir dieselben Regeln. Regeln wie:

  1. eine Variable beginnt mit dem $ -Zeichen, durch den Namen der Variablen, gefolgt

  2. Ein Variablenname muss mit einem Buchstaben oder einem Unterstrich

  3. Ein Variablenname starten kann nicht mit einer Zahl

  4. ein Variablenname alphanumerischen Zeichen und Unterstrichen (Az, 0-9 und _)

  5. enthalten, können nur starten
  6. Variablennamen sind case-sensitive (var und $ VAR $ sind zwei verschiedene Variablen)

Unsere Welt mit dieser Regel sehr streng .... xD

$a = array("x", "c");// A variable name must start with a letter or the underscore character 
$b = array("v", "b"); 
$c = array("n", "m"); 

$f=1; 
$arrayglobal = array($a, $b, $c); 

foreach ($arrayglobal as $array) { 
if (in_array("b", $array)) { 
    $f=0; 
    echo "found"; 
    break; 
} 
} 
if($f == 1){ 
     echo "nothing"; 

} 
0

Verwendung array_walk_recursive() mit Zielarrays als erster Parameter & anonyme Funktion als zweiter Parameter, der jedes Array innerhalb dieser anonymen Funktion verarbeitet.

Man könnte es wie folgt verwenden:

<?php 

$_1 = array("x", "c"); 
$_2 = array("v", "b"); 
$_3 = array("n", "m"); 

$arrayglobal = array($_1, $_2, $_3); 


array_walk_recursive($arrayglobal, function ($item) 
{ 
    echo $item == "b" ? "found\n" : "nothing\n"; 
}); 

?> 
Verwandte Themen