2012-09-03 194 views
1

在下面的代碼中,如何檢查$variable是否等於「$ one」。在PHP中獲取變量名稱

<?php 
    $one = array (1,2,3); 
    $two = array (4,5,6); 

    $variables = array ($one, $two); 

    foreach ($variables as $variable){ 
     //check if the $variable is equal to "$one" 
      //do stuff that is specific for array $one 
    } 
?> 
+0

檢查http://stackoverflow.com/questions/255312/how-to-get-a-variable-name-as-a-string-in-php – Napolux

+0

請澄清你的問題。你想只檢查$ variable是否等於$ 1或不是? 'if($ variable == $ one){//做點事情}' –

+0

'$ variable == $ one'這是不是適合你。數組可以作爲變量進行比較 –

回答

1

簡而言之,你不能。您可以添加一個關鍵值,但:

<?php 
$one = array (1,2,3); 
$two = array (4,5,6); 

$variables = array ('one' => $one, 'two' => $two); 

foreach ($variables as $key => $variable){ 
    //check if the $variable is equal to "$one" 
    if($key === 'one') { 
     //do stuff that is specific for array $one 
    } 
} 
+0

爲什麼downvote?這不是取得變量名稱的可行替代方案嗎? –

+0

謝謝,這是我尋找的解決方案。 – Nikola

4

欲瞭解更多信息,請訪問this

<?php 
    $one = array (1,2,3); 
    $two = array (4,5,6); 

    $variables = array ($one, $two); 

    foreach ($variables as $variable){ 
     //check if the $variable is equal to "$one" 
      if($variable === $one) 
      //do stuff 
    } 
?> 
+0

'$ three = array(1,2,3); $ variables [] = $ three;'。這將執行兩次'// do stuff'。 –

+2

如果這真的是OP所需要的,那麼這個問題應該被關閉,因爲這不是一個真正的問題,要問怎麼做一個IF塊。 – Gordon

1
foreach ($variables as $variable){ 
     if($variable == $one)//TRUE if $a and $b have the same key/value pairs. 
     { 

     } 
    } 

如果你要檢查順序和類型,以及你可以做如下:

foreach ($variables as $variable){ 
     if($variable === $one) 
     { 

     } 
    } 
1

您可以

01檢查

您正在使用多維數組。請記住,你需要檢查「===」,而不是「==」,因爲它不是一個變量,甚至不是一個字符串。