Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/235.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 数组只返回最后一个变量_Php_Arrays - Fatal编程技术网

Php 数组只返回最后一个变量

Php 数组只返回最后一个变量,php,arrays,Php,Arrays,我是个新手,所以可能是个愚蠢的问题。。 我有几个变量: $opleidingscode1 = rgar( $entry, '31'); //$Opleidingssoortcode $opleidingscode2 = rgar( $entry, '32'); //$Opleidingssoortcode $opleidingscode3 = rgar( $entry, '33'); //$Opleidingssoortcode

我是个新手,所以可能是个愚蠢的问题。。 我有几个变量:

$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; }
$arrlength=count($array);
$string=“”;
对于($x=0;$x<$arrlength;$x++){
$string=$array[$x];
中断;}
但它仅在数组的最后一个变量具有值($opleidingscode5)时返回一个值


我做错了什么?

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

for($x = 0; $x < $arrlength; $x++) {
    if($array[$x] != NULL){
        $string = $array[$x];
    }
}
($x=0;$x<$arrlength;$x++)的
{
如果($array[$x]!=NULL){
$string=$array[$x];
}
}

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

for($x = 0; $x < $arrlength; $x++) {
    if($array[$x] != NULL){
        $string = $array[$x];
    }
}
($x=0;$x<$arrlength;$x++)的
{
如果($array[$x]!=NULL){
$string=$array[$x];
}
}

您在这里所做的是一个for循环,它在数组的每个值上循环(这是正确的),但它将表的最后一个值存储到$string变量,因为这是您要求它执行的操作


您可能需要向
$string=$array[$x]添加一个条件语句,以检查其是否为空,因为您说过“因为只有一个变量有值,所以rest为空,所以我只想返回值。”

您在这里所做的是一个for循环,它在数组的每个值上循环(这是正确的),但它将表的最后一个值存储到$string变量中,因为这是您要求它执行的操作


您可能需要向
$string=$array[$x]添加一个条件语句以检查其是否为空,因为您说过“因为只有一个变量有值,所以rest为空,所以我只想返回值。”

下面是我要做的事情-首先筛选
,然后从返回的结果中移动第一项:

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

$value = array_shift($array);

也就是说,如果您只想要第一个项目的值-否则,通过
array\u filter

运行
array\u filter

后,您将已经拥有在
$array
中关联值的所有项目,下面是我要做的事情-首先筛选
为空,然后从返回的结果中移动第一个项目:

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

$value = array_shift($array);
也就是说,如果您只需要第一个项目的值,否则在通过
array\u filter
运行
$array
后,您将已经拥有所有在
$array
中具有关联值的项目