私は 2 つの php 関数を持っています。1 つは JSON 配列を返し、もう 1 つはそれをデコードしてその内容にアクセスし、URL を取り除くことを試みます。私の問題は、次のエラーが発生することです..
1) json_decode() は、パラメーター 1 が文字列であることを想定しています
2) 77 行目の foreach() に無効な引数が指定されています
これが私のコードです
phpファイル1
<?php
function getAnimation($userid, $db) {
include('connect.php');
$db = mysqli_connect($dbhost, $dbuser, $dbpass, $dbname);
// Check connection
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error() . "please contact d.g.folksman@ljmu.ac.uk for technical assistance";
echo "<br>";
}
$box_num = 1;
$select = "SELECT card_id, order_num FROM decks WHERE box_num=$box_num AND id=$userid ORDER BY order_num";
$result = mysqli_query($db, $select) or die("SQL Error 1: " . mysqli_error($db));
while ($row = mysqli_fetch_array($result, MYSQL_ASSOC)) {
$users[] = array(
'card_id' => $row['card_id'],
'order_num' => $row['order_num'],
);
}
json_encode($users);
return $users;
mysqli_close($db);
}
?>
JSON 配列をデコードしてその内容にアクセスしようとしている php ファイル 2 のスニペット。
include('getAnimation.php');
$animation = getAnimation($result_array[0], $db); //<< atempting to access returned array here
$obj = json_decode($animation); //FIRST ERROR HERE
foreach ($obj->card_id as $item) { // SECOND ERROR HERE
$url = ($item->card_id);
echo $url; //show me the money
}
あなたが与えることができるどんな助けにも感謝します!