【发布时间】:2017-12-29 05:44:32
【问题描述】:
这是我的小脚本,但目前没有得到正确的结果:
<?php
// Delimiters betweeb data "*" elements in each data delimiters ","
$data_string="house1,403,phone1*house2,404,phone2*house3,403,phone3*house4,405,phone3";
// Explode $data_string for "~" delimiter
$data_exp=explode("*",$data_string);
//
// Loop 1
foreach($data_exp as $data_1)
{
$data_exp_compar=explode(",",$data_1);
// We want see the elements with the same data in common in second position (403,404,etc)
$data_common_1[]=$data_exp_compar[1];
$data_common_2[]=$data_exp_compar[1];
}
$a=array_values(array_intersect_key($data_common_1,$data_common_2));
$b=array_count_values(array_intersect_key($data_common_1,$data_common_2));
foreach($a as $aa=>$values)
{
echo $aa;
print "<br>";
}
?>
这个脚本中的想法。它扫描“$data_string”中的数据,如您所见,所有数据分隔符都是“*”,并且在每个数据中我们都有以“,”作为分隔符的元素
我想得到这个输出结果,格式如下:
PRODUCT Id: 403 (2 Actually)
1- house1,403,phone1
2- house3,403,phone3
PRODUCT Id: 404 (1 Actually)
1 - house2,404,phone2
Product Id: 405 (1 Actually)
1 - house4,405,phone4
如您所见,用于比较的唯一元素位于第二个位置,并且是产品的 id
我尝试了很多东西,但我无法得到作品,或者得到我想要展示的最终结果
谢谢大家,问候
【问题讨论】:
标签: php arrays multidimensional-array foreach