2017-06-28 3 views
-1

Warum die If-Anweisung in Foreach-Anweisung nicht funktioniert? und meine array_search Funktion funktioniert auch nicht, ich benutze yii FrameworkIch kann nicht verwenden Wenn Anweisung in Foreach-Anweisung

die if-Anweisung sollte den Markennamen drucken, aber es druckt falsch, kann ich das Szenario wissen, warum die if-Anweisung mir einen Nullwert oder leer, danke in vorzurücken

function getColumnKey($brand_name){ 
    $columnKey = ''; 

     $five_up_brands = array('K'=>"Coke",'L'=>"Sprite",'M'=>"Royal"); 
     array_search($brand_name, $five_up_brands); 

     foreach ($five_up_brands as $k => $v) { 

      if($v == $brand_name){ 

       $columnKey = $k; 
      } 
     } 

    return $columnKey; 
} 
+2

Können Sie das näher erläutern zu "funktioniert nicht"? Erhalten Sie einen Fehler? Das falsche Ergebnis? – Mureinik

+2

warum nicht 'return array_search ($ brand_name, $ five_up_brands);' –

+0

Ich sehe nicht, wie Sie 'yii' Framework für Ihre Frage relevant ist. – paul

Antwort

1

ich glaube, Sie sofort zurückkehren wollen, den Markennamen auf passende anstatt lassen auf die nächste Iteration der Schleife gehen, wenn die Bedingung nicht mehr wahr sein.

function getColumnKey($brand_name){ 
    $columnKey = ''; 

    $five_up_brands = array('K'=>"Coke", 'L'=>"Sprite", 'M'=>"Royal"); 
    /* what is the point of this - it is not used? */ 
    #array_search($brand_name, $five_up_brands); 

    foreach($five_up_brands as $k => $v) { 
     if($v == $brand_name){ 
      return $k; 
     } 
    } 

    return false; 
} 
+0

Das sollte nicht wichtig sein, Sie erhalten nur den letzten passenden Wert anstelle des ersten (der in diesem Fall der gleiche ist). – jeroen

0

ich diesen Code gerade versucht ..

es funktioniert gut. es gibt mir eine Ausgabe wie diese

string (1) "L"

<?php 
    function getColumnKey($brand_name){ 
     $five_up_brands = array('K'=>"Coke",'L'=>"Sprite",'M'=>"Royal"); 
     return array_search($brand_name, $five_up_brands); 
} 
var_dump(getColumnKey('Sprite')); 
0

Array-Suche wird

es für mich
$five_up_brands = array('K'=>"Coke",'L'=>"Sprite",'M'=>"Royal"); 
$b = array_search("Coke",$five_up_brands); 
echo "$b"; 

Das funktionierte Besuche gut funktionieren.

this helps

-2

versuchen, dieses ... Arbeitscode:

function getColumnKey($brand_name){ 

     $five_up_brands = array('K'=>"Coke",'L'=>"Sprite",'M'=>"Royal"); 

     foreach ($five_up_brands as $k => $v) { 

      if($v == $brand_name){ 

       return $k; 
      } 
     } 

    return false; 
}` 
+0

Der exakt gleiche Code - mit einer Erklärung - wurde bereits vor mehr als 7 Minuten gepostet ... – jeroen

Verwandte Themen