Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.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 如果在JSON编码中_Php_Mysql_If Statement_Json - Fatal编程技术网

Php 如果在JSON编码中

Php 如果在JSON编码中,php,mysql,if-statement,json,Php,Mysql,If Statement,Json,我使用的是Arshaw的完整日历,这就是我将事件添加到日历的方式 echo json_encode(array( array( 'id' => 111, 'title' => "Place Date", 'start' => "$place_date[0]", 'color' => "purple" ), array(

我使用的是Arshaw的完整日历,这就是我将事件添加到日历的方式

echo json_encode(array(

        array(
            'id' => 111,
            'title' => "Place Date",
            'start' => "$place_date[0]",
            'color' => "purple"
        ),

        array(
            'id' => 222,
            'title' => "Due Date",
            'start' => "$due_date[0]",
            'color' => "red"
        ),

        array(
            'id' => 333,
            'title' => "Confirmed",
            'start' => "$confirmdate[0]",
            'end' => "$promisedate[0]",
            'color' => "blue"
        )

    ));


}
我并不总是有关于“confirmdate”的信息,所以我需要执行一个if语句来检查我的mysql是否返回空值,我希望实现如下功能:

if (mysqli_num_rows($confirmdate[0] > 0) {
echo  array(
            'id' => 333,
            'title' => "Confirmed",
            'start' => "$confirmdate[0]",
            'end' => "$promisedate[0]",
            'color' => "blue"
        )
}

有没有一种方法可以在json编码中执行这样的if?

array()
调用中无法对整个元素进行条件化(它在
json编码中这一事实无关紧要)。分多个步骤构造阵列:

$result = array(
    array(
        'id' => 111,
        'title' => "Place Date",
        'start' => "$place_date[0]",
        'color' => "purple"
    ),
    array(
        'id' => 222,
        'title' => "Due Date",
        'start' => "$due_date[0]",
        'color' => "red"
    )
);

if ($confirmdate[0] > 0) {
    $result[] = array(
        'id' => 333,
        'title' => "Confirmed",
        'start' => "$confirmdate[0]",
        'end' => "$promisedate[0]",
        'color' => "blue"
    );
}

echo json_encode($result);

我认为你不想那样调用
mysqli\u num\u rows
。我在回答中指出了这一点。我不知道你需要成为专家才能知道如何向数组中添加内容。