我是一个新人,所以也许是愚蠢的问题.. 我有几个变量:
$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),它只返回一个值
我做错了什么?
答案 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
中与值相关联的所有项目。