Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP merge 2数组,然后将其解析为json_Php_Arrays_Json - Fatal编程技术网

PHP merge 2数组,然后将其解析为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

我在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)
    { 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);