2012-09-03 139 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检查

您正在使用多维数组。请记住,你需要检查“===”,而不是“==”,因为它不是一个变量,甚至不是一个字符串。