2011-09-28 8 views
1

IDの配列をポストしていて、それらの値をループしたい。私は、キー/値のペアを配列に移入するために以下を試していますが、配列が空になっているようです。投稿された値の配列をループする方法

$arr = array(); 
foreach($_POST['ids'] as $id) 
{ 
    $arr[$id] = GetStuff($id); 
} 

UPDATE:配列が細かい移入されたように見えます。 echo json_encode($arr)を実行して配列の内容を返そうとしていますが、応答は空です。

ここには、var_dump($ _ POST)の出力があります。

array(1) { 
    ["ids"]=> 
    array(18) { 
    [0]=> 
    string(6) "156795" 
    [1]=> 
    string(6) "156800" 
    [2]=> 
    string(4) "4292" 
    [3]=> 
    string(6) "796053" 
    [4]=> 
    string(6) "660520" 
    [5]=> 
    string(4) "4293" 
    [6]=> 
    string(4) "4287" 
    [7]=> 
    string(6) "488339" 
    [8]=> 
    string(6) "837701" 
    [9]=> 
    string(7) "1152093" 
    [10]=> 
    string(7) "1186434" 
    [11]=> 
    string(7) "1324432" 
    [12]=> 
    string(6) "796051" 
    [13]=> 
    string(6) "144860" 
    [14]=> 
    string(5) "15065" 
    [15]=> 
    string(7) "1324434" 
    [16]=> 
    string(5) "13066" 
    [17]=> 
    string(4) "6969" 
    } 
} 
+0

「動作しません」と定義します。コードはO.Kです。この目的のために、どのように配列を送るのですか?あなたは私たちにvar_dump($ _ POST)を与えることができますか? – halfdan

+0

コードに$ _POST [ids]または$ _POST ['ids']がありますか? – Scoutman

+0

申し訳ありません。私の質問をより詳細で更新しました –

答えて

1
foreach($_POST['ids'] AS $i=>$id) { 
    //do stuff 
} 

..引用符について

+0

私は謝罪しましたが、コードをそのままコピーしませんでした。$ _POST ['ids']のidsの周りに一重引用符がありますので問題ありません。 –

0
$arr = array(); 
foreach($_POST['ids'] as $id) 
{ 
    $arr[$id] = GetStuff($id); 
} 

お知らせ$ _POSTでIDSの周りに目盛りを忘れないでください。

+0

私は謝罪しました。私は$ _POST ['ids']の中でidの周りに一重引用符を持っているので、それは問題ではありません。 –

0

これは動作するはずです:

foreach($_POST['ids'] as $id) 
{ 
    $arr[$id] = $_POST['ids'][$id]; 
} 

またはさらに速く、あなただけの投稿のIDと同一の配列を希望している場合:

$arr = $_POST['ids']; 

私は質問を誤解していない限り。

関連する問題