-1

これは私の出力です

Array
(
    [0] => Array
        (
            [count] => 3
            [TYPE] => 1
        )

    [1] => Array
        (
            [count] => 9
            [TYPE] => 2
        )

    [2] => Array
        (
            [count] => 0
            [TYPE] => 3
        )

    [3] => Array
        (
            [count] => 0
            [TYPE] => 4
        )

)

上記の配列を取得したので、この関数を次のように呼び出しています

$totalJobsCount = $model->GetStatus($data->id);

[0][count]、[1][count]、[2][count]、[3][count]の値が欲しいので、このように書いています

$a = $totalJobsCount[0]['count'];

$a1 = $totalJobsCount[1]['count'];

$a2 = $totalJobsCount[2]['count'];

$a3 = $totalJobsCount[3]['count'];

しかし、未定義のオフセット0というエラーが発生しました。問題はどこにありますか? すぐに助けてください。

4

2 に答える 2

0

より明確な回答を求め、問題を示す実行可能コードを投稿すると、より良い回答が得られると思います。

質問のArray(...)上部にあるダンプは、実行可能なコードではありません。そのデータ構造を実行して生成するコードに置き換えると役立ちます。以下に例を示しました。

配列に関する PHP ドキュメントを注意深く読んでください。そこに書かれていることに従っていますか?

正確にどの行がエラーを引き起こしていますか? 関数呼び出しが含まれないようにコードを単純化できますか?エラーをトリガーするのはまさに最後の行です? この演習を行うと、答えを見つけるのに役立つ場合があります。

他の人は、配列ダンプと配列ルックアップ式の両方で引用符で囲まれていない文字列を使用していることをすでに指摘しています。これに関する問題は、名前countが関数を参照しているため、状況によっては PHP がそのように解釈する可能性があることです。count配列を構築する際にどこかで引用符で囲まれていない文字列を使用していると思われ、それが問題を引き起こしています。

codepadでテストした以下のコード サンプルは、文字列が引用符で囲まれている場合や、場合によっては文字列が引用符で囲まれていない場合でも、PHP の多次元配列が期待どおりに動作することを示しています。

<? $totalJobsCount = Array
(Array(
            'count' => 3,
            'TYPE' => 1
        ),
 Array(
            count => 9,
            TYPE => 2
        ),
Array(
            'count' => 0,
            'TYPE' => 3
        ),
Array(
            'count' => 0,
            'TYPE' => 4
        )

); 
var_dump( $totalJobsCount );

print '$totalJobsCount[0][\'count\'] = '.$totalJobsCount[0]['count']."\n";
print '$totalJobsCount[1][count] = '.$totalJobsCount[1][count]."\n";
?>

上記のコードは、次の結果をもたらします。

array(4) {
  [0]=>
  array(2) {
    ["count"]=>
    int(3)
    ["TYPE"]=>
    int(1)
  }
  [1]=>
  array(2) {
    ["count"]=>
    int(9)
    ["TYPE"]=>
    int(2)
  }
  [2]=>
  array(2) {
    ["count"]=>
    int(0)
    ["TYPE"]=>
    int(3)
  }
  [3]=>
  array(2) {
    ["count"]=>
    int(0)
    ["TYPE"]=>
    int(4)
  }
}
$totalJobsCount[0]['count'] = 3
$totalJobsCount[1][count] = 9
于 2012-04-10T06:04:10.790 に答える
0
         $det = array( array( Title => "rose", 
                  Price => 1.25
                ),
           array( Title => "daisy", 
                  Price => 0.75
                ),
           array( Title => "orchid", 
                  Price => 1.15
                )
         );

         print_r($det);

          echo $det[0]['Title'];

$det[0]['タイトル']の「バラ」

于 2012-04-10T05:38:59.557 に答える