将会话值附加到 API 请求 php 的现有数组结构

帕梅拉

我正在使用一个 API,其中对 API 的每个请求都应该重新发送所有以前的值。我将所有以前的值存储在一个 php 会话中。生成的数组结构将被 json_encoded 并用于 Curl 请求。除了向现有问题附加新问题外,一切正常。以下是代码:

$question_counter = ++$_SESSION['question_counter'];
$questionidnew = strip_tags($_POST['questionid1']);
$answernew = strip_tags($_POST['answer1']);
//store new questions as session array
$_SESSION['questions'][$question_counter] = array(
    'questionid' => $questionidnew,
    'questionanswer' => $answernew,
    );
$question_array[] = $_SESSION['questions'];//previous questions

print_r($question_array); 给出以下结果:

Array ( [0] => Array ( 
[1] => Array ( [questionid] => p_48 [questionanswer] => absent ) 
[2] => Array ( [questionid] => p_122 [questionanswer] => absent ) 
) )

我如何以格式将其附加到现有数据结构中:

$to_json = [
  'sex' => $gender,
  'age' => $age,
  'evidence' => [
    ['id' => $test_id1, 'choice_id' => 'present', 'initial' => true],
    ['id' => $test_id2, 'choice_id' => 'present', 'initial' => true],
    ['id' => $questionidnew, 'choice_id' => $answernew],
    ['id' => 'p_12', 'choice_id' => $choice, 'initial' => true],
    ['id' => $location, 'choice_id' => 'present', 'initial' => true]
  ],
  'extras' => [
    'disable_users' => true
  ],
];

由于我是一名新手程序员,我遇到错误并且发现为会话中的先前问题添加以下内容有点令人困惑:

['id' => $questionidnew, 'choice_id' => $answernew], 

请求帮助。

特贝德纳

如果我没看错,您想将所有新答案添加到 $to_json 数组中,对吗?我最终做了以下事情来实现这一点。我随意了,可能有误解,所以如果这没有帮助,请纠正我:

<?php
session_start();
if(!isset($_SESSION['question_counter'])) {
  $_SESSION['question_counter'] = 0;
}

$gender = "male";
$age = 46;
$test_id1 = 12;
$test_id2 = 24;
$questionidnew = 9;
$answernew = "B";
$choice = "A";
$location = "campus";

$to_json = array(
  'sex' => $gender,
  'age' => $age,
  'evidence' => array(
    array('id' => $test_id1, 'choice_id' => 'present', 'initial' => true),
    array('id' => $test_id2, 'choice_id' => 'present', 'initial' => true),
    array('id' => $questionidnew, 'choice_id' => $answernew),
    array('id' => 'p_12', 'choice_id' => $choice, 'initial' => true),
    array('id' => $location, 'choice_id' => 'present', 'initial' => true)
  ),
  'extras' => array(
    'disable_users' => true
  ),
);

$question_counter = ++$_SESSION['question_counter'];
//$questionidnew = strip_tags($_POST['questionid1']);
//$answernew = strip_tags($_POST['answer1']);
//store new questions as session array
$_SESSION['questions'][$question_counter] = array(
    'questionid' => $questionidnew,
    'questionanswer' => $answernew,
    );
$question_array[] = $_SESSION['questions'];//previous questions

echo "<pre>";
print_r($to_json);
echo "</pre>";
//$_SESSION['names'][] = $name;

foreach($question_array as $question) {
  foreach($question as $key => $value) {
    $to_json['evidence'][] = array('id' => $value['questionid'], 'choice_id' => $value['questionanswer']);
  }
}
echo "<pre>";
print_r($to_json);
echo "</pre>";
print_r(json_encode($to_json));
?>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章