2011-01-16 12 views
2

配列に関するいくつかの研究をしていますが、の配列にforeachループの値を格納する方法を解決しようとしています。配列を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>"; 

?> 

答えて

6

$ _POSTが既に配列であるので、あなただけの

$array = $_POST; 

を行うことができます。あなたがソース配列を反復するforeachループを使用すると、それの特定の部分のみをコピーする場合は、あなたのような何かをしたい:

$new_array = array() 
foreach($original_array as $key => $value) { 
    if (...filter condition(s)...) { 
     $new_array[$key] = $value; 
    } 
} 

array_map()preg_grep()などは/あなたがマングルた...もありますフィルターアレイをご利用ください。

+0

私はこの方法を複雑にしました!私が最初に学んだのは、$ _POSTは配列だったと思います。ヒントと解決された情報をありがとう。 – OldWest

0

私は本当にこのポストはとても混乱して申し訳ありません。私のコードは、ソースからコピーされたと私はこれを学ぶためにHTMLやPHPでの周りの名前と値を変更してきた。..

私は全体の事を複雑に超えていた、とてそれを解決:

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>"; 
0
$_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 
) 
関連する問題