如何使函数在 php 中调用它们时返回 json 字符串

How to make functions to return a json string on calling them in php?

本文关键字:返回 json 字符串 调用 函数 何使 php      更新时间:2023-09-26

我制作了以下脚本,但我希望每个脚本仅在调用函数时才应回显json_encode数组。当我尝试定义函数然后调用它时,它什么也没显示。如果未在函数中创建脚本,则它正在工作。如何制作不同的函数,然后根据我的使用情况调用不同的函数?

<?php
ini_set('display_errors', '0');
error_reporting(0);
require_once("include/db.php");
date_default_timezone_set('Asia/Kolkata');
$regno ='14ASDFJ234';
$password = '0';
$name = 'EASPORTS';
$priority = 0;
//fetch priority
$query = "SELECT priority FROM users WHERE regno='{$regno}' AND pass='{$password}' LIMIT 1";
$res = mysql_query($query, $conn) or die(mysql_error());
$found = mysql_fetch_array($res);
if($found)
{
    $priority=$found['priority'];               
}
//echo $priority;
echo 'news feed : <br> '
$sql = "SELECT  * FROM newsfeed";
$result = mysql_query($sql,$conn) or die(mysql_error());
while ($row = mysql_fetch_array($result)) {
    $details[] = array(
        'name' => $row['name'],
        'feed' => $row['feed']         
    );
}   
echo json_encode($details);
// announcement details...
echo "<br> Announcement details: <br>";
$sql1 = "SELECT  * FROM announcements WHERE name = '$name'";
$result1 = mysql_query($sql1,$conn) or die(mysql_error());
while ($row1 = mysql_fetch_array($result1)) {
    $details1[] = array(
        'name' => $row1['name'],
        'pname' => $row1['pname'],
        'date' => $row1['date'],
        'time' => $row1['time'],
        'status' => $row1['status']       
    );
}   
echo json_encode($details1);
//events script...
?>

你应该这样做

public function somefunction()
{
        $query = "SELECT priority FROM users WHERE regno='{$regno}' AND pass='{$password}' LIMIT 1";
    $res = mysql_query($query, $conn) or die(mysql_error());
    $found = mysql_fetch_array($res);
    if($found)
    {
            $priority=$found['priority'];

        }
//echo $priority;
echo 'news feed : <br> '
$sql="SELECT  * FROM newsfeed";
$result=mysql_query($sql,$conn) or die(mysql_error());
while ($row=mysql_fetch_array($result)) {

        $details[] = array(
            'name' => $row['name'],
            'feed' => $row['feed']
        );
        }   
        echo json_encode($details);
}

现在,当您调用 somefunction() 时,您将获得 JSON 编码数组作为结果