1

有没有更好的方法如何在 PHP 中获取数组中的其他元素?

假设$a数组中肯定存在。

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

if($a==$array[0]){
    $b = $array[1];
}else{
    $b = $array[0];
}

对于这么小的事情,似乎代码太多了。

编辑:我不是在寻找三元语法。我正在寻找某种可以自动执行此操作的功能。

EDIT2:我知道一个字符串。我知道数组中存在那个字符串和另一个。我想要另一个。我可以使用什么 PHP 函数?

4

6 回答 6

3

如果保证它只是一个包含两个元素的数组,并且 $a 保证作为一个值存在于 $array

$b = $array[1 - array_search($a, $array)];
于 2013-02-19T20:37:53.600 回答
2

您可以使用三元组来缩短语法。

$b = ($a==$array[0]) ? $array[1] : $array[0];
于 2013-02-19T20:30:14.677 回答
1

没有真正的功能来做你所描述的事情,但如果你想缩短你的代码,并且你不想使用三元,那么你可以这样做:

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

$b = $array[0];
if($a==$array[0])
  $b = $array[1];

如您所说,如果$a数组中肯定存在,则此方法有效。

于 2013-02-19T20:35:10.693 回答
0

你可以使用:

$b = $a == $array[0] ? $array[1] : $array[0] ;
于 2013-02-19T20:30:52.733 回答
0

好吧,假设您的数组可能比两个元素长,您就不能进行搜索吗?

$b = $array[array_search($a, $array)];

于 2013-02-19T20:34:58.097 回答
0

好吧,让这更难看,这是我的解决方案:

$b = $array[!array_search($a, $array)];
于 2013-02-19T20:50:57.920 回答