1

動的に作成された jquery フォームから JSON データを解析しようとしています。ユーザーは「ステップの追加」ボタンをクリックして、好きなだけ (または少数の) フォームフィールドを追加できます (メディアリンクの添付を含む) が、PHP 内でそのようなデータを処理する方法がわかりません。受け取る予定の $_POST データのサンプル フォームを次に示します。

Array
(
    [1] => Array //1, 2, 3, 4 are the position for this particular 'step' on the page
        (
            [Counter] => 1
            [Title] => step one
            [Step] => description
            [Links] => Array
                (
                    [0] => link 1
                    [1] => link 2
                )

        )

    [2] => Array
        (
            [Counter] => 2
            [Title] => step two
            [Step] => some kind of description
            [Links] => Array
                (
                    [0] => link 2
                )

        )

    [3] => Array
        (
            [Counter] => 3
            [Title] => step three
            [Step] => description (another one)
        )

    [4] => Array
        (
            [Counter] => 4
            [Title] => Step four
            [Step] => a lame description
            [Links] => Array
                (
                    [0] => link 1
                    [1] => link 2
                )

        )

    [tutorial_name] => tutorial name? jesus?
    [tutorial_description] => some useless description
    [tutorial_toolsused] => waste of a tools used
    [tutorial_keywords] => waste of keywords
)

そのようなデータ (正規表現、foreach) を処理する最善の方法はありますか? post プロトコルの使用を避けるべきですか?

どんな助けでも大歓迎です!

4

2 に答える 2

1

is_array()PHP で関数を使用して、ソリューションを実現できます。

基本的には、このようなものです。

foreach($_POST as $value) {
    if(is_array($value)) {
        //process your data here. i.e. the counter, step, links, title
}
于 2013-02-02T06:53:40.410 に答える
0

たまたま誰かが興味を持った場合。再度、感謝します!

<?php
foreach($_POST as $value) {
        if(is_array($value)) {
            //process your data here. i.e. the counter, step, links, title
            echo $value['Position'] . "<br /><br />";
            echo $value['Counter'] . "<br /><br />";
            echo $value['Title'] . "<br /><br />";
            echo $value['Step'] . "<br /><br />";
            if(isset($value['Links'])){
                if(is_array($value['Links'])){
                    foreach($value['Links'] as $link){
                        echo $link . "<br /><br />";
                    }
                }
            }
        }
    }
?>
于 2013-02-02T08:40:33.537 に答える