首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将数据放入数组变量时出现问题

将数据放入数组变量时出现问题
EN

Stack Overflow用户
提问于 2016-09-30 14:58:29
回答 2查看 55关注 0票数 1

我将后端的数据放到一个数组变量中。但是在检查函数in_array()中的条件时,它跳过了一些值。

代码语言:javascript
复制
$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“数组变量跳过一些已比较的现有值。如果我接受一个自定义数组变量并初始化值,它可以很好地工作。像这样:

代码语言:javascript
复制
$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);

像上面那样工作得很好。但是我想使用从数据库中获取数据。任何帮助都将不胜感激。

EN

回答 2

Stack Overflow用户

发布于 2016-09-30 15:05:01

您应该使用$ecustomercheck而不是$ac

代码语言:javascript
复制
$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);

编辑:

如果我的理解是正确的,我只做自己的数组:

代码语言:javascript
复制
$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);
票数 0
EN

Stack Overflow用户

发布于 2016-09-30 16:58:16

而不是在$unique_array中将数组存储为:

代码语言:javascript
复制
$unique_array[] = array('cid'=>$value[0], 'rep_name'=>$value[2], 'date'=>$value[1]);

您可以像这样将数据存储在$unqiue_array中:

代码语言:javascript
复制
<?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);
?>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39785499

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档