У меня есть эта функция:Как проверить, является ли возвращаемое значение массивом перед его использованием?
//get mgs by orderID
function getOrderMsgs($orderId){
global $conn;
$query = "SELECT * ";
$query .= "FROM msgs ";
$query .= "WHERE orderid=" . $orderId . " ";
$msgset = mysqli_query($conn, $query);
confirm_query($msgset);
while ($msg = mysqli_fetch_assoc($msgset)){
$return[] = $msg;
}
return $return;
}
Это возвращает все сообщения с определенным сообщением Id. Теперь мне нужно проверить, действительно ли возвращаемое значение является массивом, поскольку после запроса мы не можем найти сообщений с этим конкретным идентификатором, который, я считаю, не вернет массив. До сих пор это то, что у меня есть:
$msgId = sql_prep($_GET['oid']);
$order = getOrderById($msgId);
$msgs=getOrderMsgs($msgId);
echo '<h2>Order #'.$order['orderid'].': '.$order['title'].'</h2>';
echo '<h3>Message thread</h3>';
foreach($msgs as $msg){
echo $msg['msg'].'<br>'.$msg['sender'].'<br>'.$msg['timestamp'].'<br><br>';
}
И это возвращает ошибку, если нет сообщ с этим идентификатором в БД.
Вы пробовали поиск в google для 'is_array'? –
Спасибо. Я не знал об этой функции. Это просто спасло мне жизнь. – Khakali