我刚刚开始学习代码并且正在编写一些代码来回显一个数组并且它给了我这个错误“警告:在第62行的C:\ xampp \ htdocs \ ogmt \ rest_server_api.php中为foreach()提供的参数无效“我怎么能解决这个问题? 这是我的代码:
if($Result1){
// script to get business no, amount & merchant id,output to merchant page
$query="SELECT * FROM customer_order WHERE insert_time=(SELECT max(order_time)from customer_order)";
$result=mysql_query($query);
while($row=mysql_fetch_assoc($result)){
$amount=$row['amount'];
$id=$row['merchant_id'];
$payment_mode=$row['mobile_service'];
switch($payment_mode){
case 'TIGO-PESA':
$result1=mysql_query("SELECT * FROM mobile_client WHERE mobile_service='TIGO-PESA'");
while($row1=mysql_fetch_assoc($result1)){
$data=array(
'Business no'=>$row1['business_no'],
'Payment Mode'=>$payment_mode,
'Total Amount Tsh'=>$amount,
'Merchant ID'=>$id
);
}break;
case 'M-PESA':
$result1=mysql_query("SELECT * FROM mobile_client WHERE mobile_service='M-PESA'");
while($row1=mysql_fetch_assoc($result1)){
$data=array(
'Business no'=>$row1['business_no'],
'Payment Mode'=>$payment_mode,
'Total Amount Tsh'=>$amount,
'Merchant ID'=>$id
);
}break;
case 'AIRTEL-MONEY':
$result1=mysql_query("SELECT * FROM mobile_client WHERE mobile_service='AIRTEL-MONEY'");
while($row1=mysql_fetch_assoc($result1)){
$data=array(
'Business no'=>$row1['business_no'],
'Payment Mode'=>$payment_mode,
'Total Amount Tsh'=>$amount,
'Merchant ID'=>$id
);
}break;
default:
$data=array('error'=>"no payment mode selected");
}
}
foreach( $data as $value ){
echo $value;
}
}
else{
echo "wrong";
}
}
答案 0 :(得分:3)
您可以使用print_r()打印数组。像这样:
echo '<pre>';
print_r($data);
echo '</pre>';
如果$ data是一个数组。 所以你可以自己调试它。
请注意,首先将$ data声明为脚本顶部的数组。
喜欢:$data = array();
答案 1 :(得分:1)
您可以使用print_r()
,但并不总是输出类型。当你已经知道变量包含数组时,它是最有用的。
在此处使用var_dump()
。您可能必须使用pre
元素,正如arslaan建议的那样。启用var_dump()
并启用Xdebug扩展后,您也不必这样做,输出将突出显示。