Я сохранил массив в переменной $ stringPedidos . Я пытаюсь использовать эту переменную как массив в $ resp , но она не работает.
Я пытаюсь отобразить клавиатуру, которая содержит названия продуктов в зависимости от идентификатора заказа пользователя извлечено из БД. Переменная $ stringPedidos содержит массив, необходимый для отображения клавиатуры в Telegram Bot с использованием PHP. Я хочу использовать $ stringPedidos в качестве массива, проблема в том, что $ stringPedidos выполняется в виде строки.
$query = mysqli_query($conn, "SELECT * FROM pedidos WHERE usuario_id='".$id."'");
if(mysqli_num_rows($query) > 0){
$stringPedidos= "array(";
$query = "SELECT producto_id FROM pedidos WHERE usuario_id='".$id."'";
$result = mysqli_query($conn, $query) or die(mysqli_error($conn));
while ($row = mysqli_fetch_array($result, MYSQLI_BOTH)) {
$producto_id = $row['producto_id'];
$queryProductos = "SELECT name FROM productos WHERE id='".$producto_id."'";
$resultProductos = mysqli_query($conn, $queryProductos) or die(mysqli_error($conn));
while ($rowProductos = mysqli_fetch_array($resultProductos, MYSQLI_BOTH)) {
$productoName = $rowProductos["name"];
$stringPedidos .= 'array("'.$productoName.'"),';
}
}
$stringPedidos .= 'array("Return↩️")';
$stringPedidos .= ")";
$resp = array("keyboard" => eval($stringPedidos),"resize_keyboard" => true,"one_time_keyboard" => true,"remove_keyboard" => true);
}
Вывод: array (array ("testProduct"), array ("testProduct2"), array ("Return↩️"))
Вывод правильный, но он не выполняется как массив, потому что он не работает.