我将数据从后端放到数组变量中。但它在检查函数in_array()
中的条件时跳过一些值。
$check_empp=mysqli_query($conn,"select * from customer");
while($check_emp_fetchh=mysqli_fetch_array($check_empp,MYSQLI_BOTH)) {
$ecustomercheck[]=$check_emp_fetchh['customer_id'];
}
if (in_array($value[0], $ecustomercheck)) {
$unique_array[] = array('cid'=>$value[0], 'rep_name'=>$value[2], 'date'=>$value[1]);
}
print_r($unique_array);
$value[0]
包含客户ID的值('SLR-84936878','SLR-84963110')。 “$ unique_array”数组变量跳过一些比较现有值。如果我正在使用自定义数组变量并将值初始化,它工作正常。像:
$check_empp=mysqli_query($conn,"select * from customer");
while($check_emp_fetchh=mysqli_fetch_array($check_empp,MYSQLI_BOTH)) {
$ecustomercheck[]=$check_emp_fetchh['customer_id'];
}
$ac=array('SLR-84936878','SLR-84963110','SLR-76472164','SLR-76472174','SLR-14936878','SLR-25936878');
if (in_array($value[0], $ac)) {
$unique_array[] = array('cid'=>$value[0], 'rep_name'=>$value[2], 'date'=>$value[1]);
}
print_r($unique_array);
如上所述正常工作。但是我想用数据库中的fetch数据来处理它。任何帮助将不胜感激。
答案 0 :(得分:0)
而不是$ac
您应该使用$ecustomercheck
:
$check_empp=mysqli_query($conn,"select * from customer");
while($check_emp_fetchh=mysqli_fetch_array($check_empp,MYSQLI_BOTH)) {
$ecustomercheck[]=$check_emp_fetchh['customer_id'];
}
if (in_array($value[0], $ecustomercheck)) {
$unique_array[] = array('cid'=>$value[0], 'rep_name'=>$value[2], 'date'=>$value[1]);
}
print_r($unique_array);
修改强>
如果我的理解是正确的,我就会制作自己的数组:
$check_empp=mysqli_query($conn,"select * from customer");
while($check_emp_fetchh=mysqli_fetch_array($check_empp,MYSQLI_BOTH)) {
$ecustomercheck[]=$check_emp_fetchh['customer_id'];
}
$a = array(array("SLR-84936878","05/25/2016", "SAMSUNG"),array("SLR-84963110","05/27/2016", "APPLE")) ;
foreach($a as $value) {
if (in_array($value[0], $ecustomercheck)) {
$unique_array[] = array('cid'=>$value[0], 'rep_name'=>$value[2], 'date'=>$value[1]);
}
}
print_r($unique_array);
答案 1 :(得分:0)
而不是将数组存储在$unique_array
中:
$unique_array[] = array('cid'=>$value[0], 'rep_name'=>$value[2], 'date'=>$value[1]);
您只需将数据存储在$unqiue_array
中:
<?php
$unique_array = array();
$i = 1;
foreach ($a as $value)
{
if (in_array(trim($value[0]), $ecustomercheck))
{
$unique_array[$i]['cid'] = $value[0];
$unique_array[$i]['rep_name'] = $value[1];
$unique_array[$i]['date'] = $value[2];
}
$i++;
}
print_r($unique_array);
?>