Array仅返回最后一个变量

时间:2018-04-10 16:32:45

标签: php arrays

我是一个新人,所以也许是愚蠢的问题.. 我有几个变量:

$opleidingscode1            = rgar( $entry, '31'); //$Opleidingssoortcode
$opleidingscode2            = rgar( $entry, '32'); //$Opleidingssoortcode
$opleidingscode3            = rgar( $entry, '33'); //$Opleidingssoortcode
$opleidingscode4            = rgar( $entry, '34'); //$Opleidingssoortcode
$opleidingscode5            = rgar( $entry, '35'); //$Opleidingssoortcode

然后把它们放在一个数组中:

 $array = array( $opleidingscode1,$opleidingscode2,$opleidingscode3,$opleidingscode4,$opleidingscode5 );

因为只有一个变量有一个值,所以rest为空,我想只返回该值。所以现在我有:

$arrlength = count($array);

$string = "";
for($x = 0; $x < $arrlength; $x++) {
$string = $array[$x];
break; }

但是如果数组的最后一个变量有一个值($ opleidingscode5),它只返回一个值

我做错了什么?

3 个答案:

答案 0 :(得分:1)

您没有检查字符串中是否有值,您只是获取每个值并返回最后一个值。你需要在循环中使用if语句。

this.getMainActivity().chooseShare(intent);

答案 1 :(得分:1)

你在这里做的是一个for循环,循环你的数组的每个值(你做对了),但它将你的表的最后一个值存储到$ string变量,因为那是什么你问它要做。

您可能想要在for($x = 0; $x < $arrlength; $x++) { if($array[$x] != NULL){ $string = $array[$x]; } } 语句中添加一个条件,以便检查它是否为空,因为您说过&#34;因为只有一个变量有值,所以休息为空,我想要只返回值。&#34;

答案 2 :(得分:0)

以下是我要做的事情 - 首先过滤empty,然后从返回的结果中移出第一项:

$array = array_filter($array, function($value) {
    return !empty($value);
});

$value = array_shift($array);

即如果您只想要第一个项目的值 - 否则在通过$array运行后,您已经拥有array_filter中与值相关联的所有项目。