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这有用吗?如果是这样,你应该投票并接受。或者让我知道为什么没有,这样我就可以复习了。你似乎养成了不这样做的习惯。