我有一个PHP功能如下所示。只显示一个片段
$item_err = array();
for($is = 2; $is <= 10; $is ++)
{
if($order_no)
{
$check_ordr_data = $this->admin_model->checkOrderNo( array('order_no'=>trim($order_no)) );
if (( $check_ordr_data ) > 0)
{
echo "hello";
$item_err[$is] .= ' Order Number already exists in database ' . $order_no ;
print_r($item_err);
echo 'hi'; exit;
}
}
}
我得到的输出是
你好遇到PHP错误严重性:注意
消息:未定义的偏移量:2
文件名:controllers / network.php
行号:502
数组([2] =&gt;订单号已存在于数据库PO-2018-01中)嗨
我无法找出代码段中的错误。任何帮助表示赞赏。
答案 0 :(得分:1)
在这一行
$item_err[$is] .= ' Order Number already exists in database ' . $order_no ;
您正在执行.=
,这意味着您要连接该值。但$item_err[$is]
可能未设置,导致您的错误。
您应该使用常规=
答案 1 :(得分:1)
希望这会对您有所帮助:
错误是因为您试图为$item_err
替换
$item_err[$is] .=
<强>与强>
$item_err[] =
整个代码应该是这样的:
$item_err = array();
for($is = 2; $is <= 10; $is++)
{
if($order_no)
{
$check_ordr_data = $this->admin_model->checkOrderNo(array('order_no' => trim($order_no)));
if (( $check_ordr_data ) > 0)
{
echo "hello";
$item_err[] = ' Order Number already exists in database ' . $order_no ;
print_r($item_err);
echo 'hi'; exit;
}
}
}
答案 2 :(得分:0)
消息:未定义的偏移量:2
此错误由$item_err[$is]
引起。在循环开始时,值$is
为2.在追加错误时,您尝试为$item_err
数组中不存在的键设置值。
你可以做些什么来解决这个错误,而不必担心索引。
$item_err[] = ' Order Number already exists in database ' . $order_no;