PHP merge 2数组,然后将其解析为json
我在PHP中创建了两个函数,都是返回数组的函数,我想合并数组并返回JSON 示例代码:PHP merge 2数组,然后将其解析为json,php,arrays,json,Php,Arrays,Json,我在PHP中创建了两个函数,都是返回数组的函数,我想合并数组并返回JSON 示例代码: function get_data($conn, $post_id) { $qry = "SELECT * FROM post WHERE Post_id='".$post_id."'"; $res = mysqli_query($conn, $qry); global $myArray; if (mysqli_num_rows($res) > 0) { whil
function get_data($conn, $post_id) {
$qry = "SELECT * FROM post WHERE Post_id='".$post_id."'";
$res = mysqli_query($conn, $qry);
global $myArray;
if (mysqli_num_rows($res) > 0)
{ while($row = mysqli_fetch_assoc($res)) {
$Post_id = $row['Post_id'];
$Post_title = $row['Post_title'];
$Post_body = $row['Post_body'];
$myArray[] = array( 'Post_id' => $Post_id, 'Post_title' => $Post_title, 'Post_body' => $Post_body );
}
likedislike($conn, $post_id, $myArray); }
}
function likedislike($conn, $post_id, $myArray)
{
$qry1 = "SELECT * FROM likeunlike WHERE postid = '".$post_id."' AND likes=1";
$res1 = mysqli_query($conn, $qry1);
$count = mysqli_num_rows($res1);
global $myArray;
global $username;
$userlist = array();
while($row = mysqli_fetch_assoc($res1)) {
$Usrname = $row['username'];
$userlist[] = array( 'username' => $Usrname );
}
$newarray = array_merge($myArray, $userlist);
echo json_encode($newarray);
}
您可以使用和执行类似的功能: 根据您在评论中向我展示的内容,我认为您应该执行以下操作,与数组合并无关:
function get_data($conn, $post_id) {
$qry = "SELECT * FROM post WHERE Post_id='".$post_id."'";
$res = mysqli_query($conn, $qry);
global $myArray;
if (mysqli_num_rows($res) > 0) {
while($row = mysqli_fetch_assoc($res)) {
$Post_id = $row['Post_id'];
$Post_title = $row['Post_title'];
$Post_body = $row['Post_body'];
$myArray[] = array( 'Post_id' => $Post_id, 'Post_title' => $Post_title, 'Post_body' => $Post_body, 'Username' => likedislike($conn, $post_id, $myArray); );
}
}
echo json_encode($newarray);
}
function likedislike($conn, $post_id, $myArray)
{
$qry1 = "SELECT * FROM likeunlike WHERE postid = '".$post_id."' AND likes=1";
$res1 = mysqli_query($conn, $qry1);
$count = mysqli_num_rows($res1);
global $myArray;
global $username;
$userlist = array();
while($row = mysqli_fetch_assoc($res1)) {
$Usrname = $row['username'];
$userlist[] = array( 'username' => $Usrname );
}
return $userlist;
}
使用第一个数组_merge()
$result=array\u merge($array1,$array2)代码>
然后进行json_编码
$json=json\u encode($result)代码>
阵列合并
函数的作用是:将一个或多个数组合并到一个数组中
json_编码
用于转换为json数据的json_encode()
示例:
<?php
$a1=array("red","green");
$a2=array("blue","yellow");
$myarray = array_merge($a1,$a2);
$json_data = json_encode($myarray );
echo json_data;
?>
或
示例:如果键和值
<?php
$a1=array("Volvo"=>"XC90","BMW"=>"X5");
$a2=array("abc"=>"XxX","xyz"=>"Xz");
$myarray = array_merge($a1,$a2);
$json_data = json_encode($myarray);
echo $json_data;
?>
例如,看到这个。。。
使用
显示代码。你试过什么。提示:阅读并理解与$mergedArray=$array1+$array相比的行为代码>如果它包含键和值,则没有问题,,,它存储在变量中。请检查此。。。例如如果它包含键和值..我的数组有键和值请在问题中举例说明。您的示例数组+您期望的结果函数get_data($conn,$post_id){$qry=“SELECT*FROM post WHERE post_id=”“$post_id.”“;$res=mysqli_query($conn,$qry);global$myArray;if(mysqli_num_rows($res)>0){while($row=mysqli_fetch assoc($res)){$post_id=$row['post_id'];$post_title=$row['Post_title'];$Post_body=$row['Post_body'];$myArray[]=array('Post_id'=>Post_id,'Post_title'=>Post_title,'Post_body'=>Post_body);}likedislike($conn,$Post_id,$myArray)}函数likedislike($conn,$Post_id,$myArray){$qry1.$post_id.“'AND likes=1”;$res1=mysqli_query($conn,$qry1);$count=mysqli_num_rows($res1);全局$myArray;全局$username;$userlist=array();而($row=mysqli_fetch\u assoc($res1)){$Usrname=$row['username'];$userlist[]=array($username'=>Usrname)}$newarray=array_merge($myArray,$userlist);echo json_encode($newarray);}@JitenderSingh…请检查我的ans…并且我的数组包含键和values@JitenderSingh…请检查我的Ans,,我希望它对您有所帮助,,,例如,请访问这里…这太棒了,Rishikesh,还有一个快速问题,在while循环中向数组中插入元素的最佳做法是什么。@Jitender..Okkkzz,等等,我给您发送消息用适当的例子链接…以便更好地理解…如果它能解决您的问题..请接受答案..谢谢!!
<?php
$a1=array("Volvo"=>"XC90","BMW"=>"X5");
$a2=array("abc"=>"XxX","xyz"=>"Xz");
$myarray = array_merge($a1,$a2);
$json_data = json_encode($myarray);
echo $json_data;
?>
$result = array_merge($array1, $array2);
echo json_encode($result);