我将后端的数据放到一个数组变量中。但是在检查函数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);像上面那样工作得很好。但是我想使用从数据库中获取数据。任何帮助都将不胜感激。
发布于 2016-09-30 15:05:01
您应该使用$ecustomercheck而不是$ac
$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);发布于 2016-09-30 16:58:16
而不是在$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);
?>https://stackoverflow.com/questions/39785499
复制相似问题