Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 浏览并比较两个数组_Php_If Statement_Foreach_Zero - Fatal编程技术网

Php 浏览并比较两个数组

Php 浏览并比较两个数组,php,if-statement,foreach,zero,Php,If Statement,Foreach,Zero,我需要比较一个来自查询的数组和一个基数组,在基数组中我有可能有来自查询的数组的值,问题是如何遍历并比较这两个数组,以便在值不匹配的地方得到零,并给我数组的值 这是我的代码: public function age_range_men() { $type = 'brands'; $id_array= 75; $date_start= '2017-01-02 00:01:00'; $date_end='2017-03-31 23:59:59';

我需要比较一个来自查询的数组和一个基数组,在基数组中我有可能有来自查询的数组的值,问题是如何遍历并比较这两个数组,以便在值不匹配的地方得到零,并给我数组的值

这是我的代码:

public function age_range_men()
{       
    $type = 'brands';
    $id_array= 75;
    $date_start= '2017-01-02 00:01:00';
    $date_end='2017-03-31 23:59:59';
    $datos = $this->statistics_model->range_age_men($type, $id_array, $date_start, $date_end);

    $result = array();

    foreach($datos as $dato) {
        $result[] = array((string)$dato->rango, (int)$dato->conexiones );
    }

     $base= array(array('12 a 17'), array('18 a 24'),array('25 a 34'), array('35 a 44'), array('45 a 54'),array('55 a 64'),array('mas de 65'));

    $res = array();

    foreach ($base as $base1) {
    // print_r($base1[0]);
    //       echo "<br>";
        foreach ($result as $result2){      
            if ($base1[0] == $result2[0]){
            }else{
                echo 0;
                break;
            }
        }
    }
}
public function age\u range\u men()
{       
$type=‘品牌’;
$id_数组=75;
$date_start='2017-01-02 00:01:00';
$date_end='2017-03-31 23:59:59';
$datos=$this->statistics\u model->range\u age\u men($type、$id\u array、$date\u start、$date\u end);
$result=array();
外汇($dato作为$dato){
$result[]=数组((字符串)$dato->rango,(int)$dato->conexiones);
}
$base=array(array('12a17')、array('18a24')、array('25a34')、array('35a44')、array('45a54')、array('55a64')、array('masde65'));
$res=array();
foreach($baseas$base1){
//打印($base1[0]);
//回声“
”; foreach($result as$result2){ 如果($base1[0]=$result2[0]){ }否则{ 回声0; 打破 } } } }
[第一行是$result,第二行是$base][1]

[1] :


这是我的建议。为结果创建关联数组。使
$base
成为一个键列表,而不是一个奇怪的多维数组。检查数组中的密钥。我有else echo 0,如果它存在,我不知道你想要什么

<?php

function age_range_men(){     

    $type = 'brands';
    $id_array= 75;
    $date_start= '2017-01-02 00:01:00';
    $date_end='2017-03-31 23:59:59';
    $datos = $this->statistics_model->range_age_men($type, $id_array, $date_start, $date_end);

    $result = array();


    foreach($datos as $dato) {
        $result[(string)$dato->rango] = (int)$dato->conexiones; // Note this is now using a key
    }

    //This is no longer a multi-dimensional array just the keys we need
    $base= array('12 a 17', '18 a 24','25 a 34', '35 a 44', '45 a 54','55 a 64','mas de 65');

    $res = array();

    foreach ($base as $key) {
        if(array_key_exists($key, $results)){
            //CODE???
        } else {
            echo 0;
        }
    }
}

age_range_men();

能否显示
$result
中的内容?它是否像
$base
中的值一样?是否有理由将基作为多维数组?是的,第一行是$result,第二行是$BASE对不起,我不确定我是否遵守了。首先,我想知道为什么有一个多维数组作为基本数组。请查看图片:)为什么不将其作为
数组('12a17','18a24','25a34',)
这样就消除了额外的单索引数组。但是在变量$results中,结果是随机的,这取决于查询,到达的值永远不会相同,因此,无法输入特定名称。我不确定特定名称是什么意思?请参阅我在编辑中所做的操作。我不能打同样的电话,你可以用你的图像数据来测试。好的,好的,我理解你的建议,我会试试的now@Dave这有用吗?如果是这样,你应该投票并接受。或者让我知道为什么没有,这样我就可以复习了。你似乎养成了不这样做的习惯。