我需要比较一个来自查询的数组,一个基数组,其中我有可能有来自查询的数组的值,问题是如何通过并比较两个数组,以便我在值不匹配的地方得到零并给出数组的值?。
这是我的代码:
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;
}
}
}
}
[第一行是$ result,第二行是$ base] [1]
答案 0 :(得分:0)
这是我的建议。为结果创建关联数组。使$base
成为键列表而不是奇怪的多维数组。检查数组中的密钥。我有其他回音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();