我无法创建数组中的PHP数组 [英] Php array with in array i am not able to create
问题描述
我正在尝试在一个数组中获取两个数组值.我有两种情况,一种完成,另一种没有完成.在一个数组中,我可以得到一个数组,但不能实现倍数,如下面的预期输出中所述.
I am trying to get two array values within an array. I have two situations, one is done and the another one is not done. Within an array I am able to get a single array, but not able to achieve multiples, as mentioned in the below expected output.
[{"id":"3","category":"Name","text":"text with some data","image":"http:\/\/examole.net\/folder\/images\/category1.jpg"},{"id":"4","category":"Name","text":"text with some data","image":"http:\/\/examole.net\/folder\/images\/category1.jpg"}]
带有完成和未完成查询的代码
code with done and notdone query
$response = array();
$response2 = array();
if(isset($_REQUEST['action']) && $_REQUEST['action']=='test') {
$query="select * from exampledb where id='".$db->escape($_REQUEST['id'])."' and workdone='done'";
$num= $db->num_rows($query);
if($num) {
$rows = $db->get_results($query);
foreach($rows as $k=>$row1) {
$response[$k]['id'] = $row1['id'];
$response[$k]['category'] = $row1['category'];
$response[$k]['text'] = $row1['text'];
$response[$k]['image'] = $row1['image'];
}
} else{
$response['message']='No user Found';
$response['status']='fail';
}
$query="select * from exampledb where id='".$db->escape($_REQUEST['id'])."' and workdone='notdone'";
$num= $db->num_rows($query);
if($num) {
$rows = $db->get_results($query);
foreach($rows as $k=>$row1) {
$response[$k]['id'] = $row1['id'];
$response[$k]['category'] = $row1['category'];
$response[$k]['text'] = $row1['text'];
$response[$k]['image'] = $row1['image'];
}
} else {
$response['message']='No user Found';
$response['status']='fail';
}
echo json_encode($response);
echo json_encode($response2);
}
}
期望输出
[{Done:{{"id":"3","category":"Name","text":"text with some data","image":"http:\/\/examole.net\/folder\/images\/category1.jpg"},{"id":"4","category":"Name","text":"text with some data","image":"http:\/\/examole.net\/folder\/images\/category1.jpg"} },
Notdone:{{"id":"3","category":"Name","text":"text with some data","image":"http:\/\/examole.net\/folder\/images\/category1.jpg"},{"id":"4","category":"Name","text":"text with some data","image":"http:\/\/examole.net\/folder\/images\/category1.jpg"} }}]
推荐答案
您可以通过两种方式制作
You can make this in two way
1.
将所有内容保留不变,并在sql/array处理代码之后移动 echo
:
Leave everything as is and move the echo
just after the sql/array processing code:
//... [...] ...
}
else{
$response['message']='No user Found';
$response['status']='fail';
}
echo json_encode($response); //<---- here for the first
$query="select * from exampledb where id='".$db->escape($_REQUEST['id'])."' and workdone='notdone'";
$num= $db->num_rows($query); //.......
和
//... [...] ...
}
else{
$response['message']='No user Found';
$response['status']='fail';
}
echo json_encode($response); //<---- here for the second
//.......
2
在第二次查询后更改foearch中的相对变量
change relative variables inside foearch after your SECOND query
// this remains the same from here
$query="select * from exampledb where id='".$db->escape($_REQUEST['id'])."' and workdone='done'";
$num= $db->num_rows($query);
if($num)
{
$rows = $db->get_results($query);
foreach($rows as $k=>$row1) {
$response[$k]['id'] = $row1['id'];
$response[$k]['category'] = $row1['category'];
$response[$k]['text'] = $row1['text'];
$response[$k]['image'] = $row1['image'];
}
}
else{
$response['message']='No user Found';
$response['status']='fail';
}
// ----------------- to here
// and here ....
$query="select * from exampledb where id='".$db->escape($_REQUEST['id'])."' and workdone='notdone'";
$num= $db->num_rows($query);
if($num)
{
$rows = $db->get_results($query);
foreach($rows as $k=>$row1) {
//... change this with $response2
$response2[$k]['id'] = $row1['id'];
$response2[$k]['category'] = $row1['category'];
$response2[$k]['text'] = $row1['text'];
$response2[$k]['image'] = $row1['image'];
}
}
else{
//... and this
$response2['message']='No user Found';
$response2['status']='fail';
}
//
echo json_encode($response);
echo json_encode($response2);
如果不填充 $ response2
,您将永远不会得到 json_encode
If you don't populate $response2
you never get at the end for json_encode
这篇关于我无法创建数组中的PHP数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!