Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/254.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 从foreach()循环返回数组并打印它_Php_Arrays - Fatal编程技术网

Php 从foreach()循环返回数组并打印它

Php 从foreach()循环返回数组并打印它,php,arrays,Php,Arrays,我正在对数组进行一些研究,并试图解决如何将foreach循环的值存储到一个数组中,然后print\r() 除了$array=foreach()…之外,我的脚本工作正常,正如您所看到的,我调用了return将结果返回到$array变量,但我得到一个解析错误 以下是我目前的代码: <?php <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post"> <input type="radio

我正在对数组进行一些研究,并试图解决如何将
foreach
循环的值存储到一个数组中,然后
print\r()

除了
$array=foreach()…
之外,我的脚本工作正常,正如您所看到的,我调用了
return
将结果返回到
$array
变量,但我得到一个解析错误

以下是我目前的代码:

<?php

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
  <input type="radio" name="DataNameOne" value="Value 1">
  <input type="radio" name="DataNameTwo" value="Value 2">
  <input type="radio" name="DataNameThree" value="Value 3">
  <input type="submit" />
</form>
<?php

$array = foreach ($_POST as $key=>$value) {
    if (stristr($key, "section")) {
        $section = $value;
        $section_name = $key;
        return;
    }
    echo "Key is: $key and Valus is: $value";
}

echo "<pre>";
print_r($array);
echo "</pre>";

?>
你可以这么做

$new_array = array()
foreach($original_array as $key => $value) {
    if (...filter condition(s)...) {
        $new_array[$key] = $value;
    }
}
因为$\u POST已经是一个数组。但是,如果要使用foreach循环迭代源数组并仅复制其中的某些部分,可以执行以下操作:

foreach ($_POST as $key=>$value) {
    if (stristr($key, "section")) {
        $section = $value;
        $section_name = $key;
            return;
    }
    echo "Key is: $key and Valus is: $value";
}


echo "<pre>";
print_r($_POST);
echo "</pre>";

还有,等等。。。您可以随意损坏/过滤阵列。

我真的很抱歉这篇文章如此混乱。我的代码是从源代码复制的,我一直在更改html和php中的名称和值来了解这一点

我把整个事情复杂化了,通过以下方式解决了问题:

$_POST is array.if we use print_r($_POST); of above form, we find array:-
code:-
-------------

$data=array(); 
$new_array=array(); 
echo"<pre>";
print_r($_POST);
$data[]=$_POST['DataNameOne'];
$data[]=$_POST['DataNameTwo'];
$data[]=$_POST['DataNameThree'];
print_r($data);   
foreach($ as $key => $value) { 
          if (...filter condition(s)...) {  
           $new_array[$key]=$value;
         } }

output:-
-------------
Array
(
    [DataNameOne] => Value 1
    [DataNameTwo] => Value 2
    [DataNameThree] => Value 3
)

Array
(
    [0] => Value 1
    [1] => Value 2
    [2] => Value 3
)
foreach($\u发布为$key=>$value){
if(stristr($key,“section”)){
$section=$value;
$section_name=$key;
返回;
}
echo“键为:$Key,值为:$value”;
}
回声“;
打印(邮政美元);
回声“;
$\u POST是数组。如果我们使用print\r($\u POST);对于上述形式,我们发现数组:-
代码:-
-------------
$data=array();
$new_array=array();
回声“;
打印(邮政美元);
$data[]=$\u POST['DataNameOne'];
$data[]=$\u POST['DataNameTwo'];
$data[]=$\u POST['DataNameThree'];
打印(数据);
foreach($as$key=>$value){
如果(…筛选条件){
$new_数组[$key]=$value;
} }
输出:-
-------------
排列
(
[DataNameOne]=>值1
[DataNameTwo]=>值2
[DataNameThree]=>值3
)
排列
(
[0]=>值1
[1] =>值2
[2] =>值3
)

这件事太复杂了!我想我学到的第一件事是一个数组。谢谢你的提示和信息。
$_POST is array.if we use print_r($_POST); of above form, we find array:-
code:-
-------------

$data=array(); 
$new_array=array(); 
echo"<pre>";
print_r($_POST);
$data[]=$_POST['DataNameOne'];
$data[]=$_POST['DataNameTwo'];
$data[]=$_POST['DataNameThree'];
print_r($data);   
foreach($ as $key => $value) { 
          if (...filter condition(s)...) {  
           $new_array[$key]=$value;
         } }

output:-
-------------
Array
(
    [DataNameOne] => Value 1
    [DataNameTwo] => Value 2
    [DataNameThree] => Value 3
)

Array
(
    [0] => Value 1
    [1] => Value 2
    [2] => Value 3
)