ここで十分な情報を提供したいと思っていますが、foreach
ループが機能する理由について混乱しています。各データを取得して出力しli
ますが、無効な引数エラーが発生していますか?
の結果は次のとおりです。var_dump
array(1) { ["questions"]=>
array(2) { ["title"]=> string(5) "Keanu" [1]=>
array(1) { ["questionlist"]=> array(2) { [0]=>
array(1) {
["a-question"]=> string(1) "1" } [1]=> array(1) {
["a-question"]=> string(5) "civil" } } } } }
これが私のforeach
声明です
foreach($questions['questions'] as $key => $value){
foreach($value['questionlist'] as $key => $subquestion){ //line 119
echo '<li>'.$subquestion['a-question'].'</li>';
}
}
$questions
このようにデータベースからデータを取得するために使用される変数です。
$questions = $wpdb->get_row("SELECT * FROM $table_name ORDER BY id DESC LIMIT 1" , ARRAY_A);
$_POST
データは ajax から取得されます。データベースに送信する前に、このように ajax を変更します。
// Add modifications
$questions['questions'] = $_POST['questions']['data'];
// DB data
$name = $wpdb->escape($questions['questions']['title']);
$data = $wpdb->escape(json_encode($questions));
スクリーンショット:
無効な引数を取得する理由がわかりません。配列が適切にフォーマットされていない可能性があるためと思われます。さらに情報が必要な場合はお知らせください。
解決策: @didirc に感謝
私は彼のコードを使用し、データをループで表示するように少し変更しました。基本的には、別の を追加するだけでしたforeach
。
foreach($questions['questions'] as $key => $value){
if(is_array($value) && isset($value[ 'questionlist'])){
foreach($value as $key => $subquestion){ //line 119
foreach ($subquestion as $key => $value){
// This loops all the ['a-question'] data
echo '<li>''.$value['a-question'].''</li>';
}
}
}
}