2017-12-30 40 views
-2

テーブルにレコードがないのに空の配列をフロントエンドにエコーする方法はありますか?テーブルが空ですが空の配列を返します

$result = mysqli_query($conn, "SELECT * FROM person"); 

while($res = mysqli_fetch_assoc($result)) { 

    $row = array(
     'fname' => $res['fname'] 
    ); 

    $encoded[] = $row; 
} 

//$encoded ? echo json_encode($encoded); : echo array(); 
+0

フロントエンドに空の配列をエコーするとどういう意味ですか? – bestprogrammerintheworld

答えて

2

あなたのコードの先頭に空arrayを初期化します。

$encoded = array(); 
$result = mysqli_query($conn, "SELECT * FROM person"); 

while ($res = mysqli_fetch_assoc($result)) { 
    $encoded[] = array('fname' => $res['fname']); 
} 

echo json_encode($encoded); 

結果が見つからない場合、これは[]であります。

1

ループ上に以下を入れ:

$encoded = array(); 
+0

それに打ち間違いがありました – Ctznkane525

1

する最も簡単な方法は、空の配列は、角括弧の対をエコーすることでエコー:

echo "[]"; 

あなたの場合、$encoded配列をどこかでabあなたが提供したコードをOVE、それは他のコードによって改ざんされていないいない場合、あなたは単にそれをエンコードすることができます。

例:

# Initialise an array. 
$encoded = []; 

# Execute the query. 
$result = mysqli_query($conn, "SELECT * FROM person"); 

# Loop. 
while($res = mysqli_fetch_assoc($result)) {  
    $encoded[]= ["fname" => $res['fname']]; 
} 

# Echo the the array (empty or not). 
echo json_encode($encoded); 
+0

$ encodedが空であるかどうかチェックする必要がありますか? –

+0

はい、それが空であれば上記のようにしてください。 –

関連する問題