Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/81.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_Html - Fatal编程技术网

php中的数组交集

php中的数组交集,php,html,Php,Html,我有一段话: $tableau = array_intersect(GetSearchByRegion($_SESSION['region']), GetSearchByCity($_SESSION['city']), GetSearchByState($_SESSION['state']), GetSearchByCountry($_SESSION['cou

我有一段话:

$tableau = array_intersect(GetSearchByRegion($_SESSION['region']),
                       GetSearchByCity($_SESSION['city']),
                       GetSearchByState($_SESSION['state']),
                       GetSearchByCountry($_SESSION['country']),
                       GetSearchByKeywords($_SESSION['keywords']),
                       GetSearchByDate($_SESSION['date']),
                       GetSearchByCompany($_SESSION['company']),
                       GetSearchByCategory($_SESSION['category']));

if(sizeof($tableau) == 0)
{
    header('Location: fail.html');
}
else
{    
    $tableau1 = array_intersect(GetSearchByRegion($_SESSION['region']),
                            GetSearchByState($_SESSION['state']));

    echo "size of state =".sizeof(GetSearchByState($_SESSION['state']))."</br>";
    echo "size total".sizeof($tableau)."</br>";
    echo sizeof($tableau1)."</br>";

    // $_SESSION['liste'] =GetInformationsFromId($tableau);
    // header('Location: list.php');
}
$tableau=array\u intersect(GetSearchByRegion($\u SESSION['region']),
GetSearchByCity($\u会话['city']),用于,
GetSearchByState($\u会话['state']),
GetSearchByCountry($\u会话['country'),
GetSearchByKeywords($\u会话['keywords']),
GetSearchByDate($\u会话['date']),
GetSearchByCompany($\u会话['company']),
GetSearchByCategory($_会话['category']);
if(sizeof($tableau)==0)
{
标题('Location:fail.html');
}
其他的
{    
$tableau1=array\u intersect(GetSearchByRegion($\u SESSION['region']),
GetSearchByState($_会话['state']);
echo“size of state=“.sizeof(GetSearchByState($_SESSION['state')))。”
; 回显“总尺寸”。尺寸($tableau)。“
”; 回声大小($tableau1)。“
”; //$\u SESSION['liste']=GetInformationsFromId($tableau); //标题('Location:list.php'); }
问题是结果是状态的大小=1 总尺寸3 3 我不知道为什么交集不起作用:一个表的大小=1,另一个表的大小通常是一个表的大小等于1。所以:

  • 我需要知道是什么错误
  • 我怎样才能修好它
数组_intersect()不能消除重复项:

php > $x = array('a', 'a', 'b', 'c');
php > $y = array('a', 'b');
php > var_dump(array_intersect($x, $y));
array(3) {
  [0]=>
  string(1) "a"
  [1]=>
  string(1) "a"
  [2]=>
  string(1) "b"
}
php >
注意
$x
数组中重复的
a
值。这两个值之间只有两个相同的不同值,在
$y
中只有两个值,但交点仍然是3个值。

这是结果: `


`

但是我的一个表包含一行,而另一个表没有重复的行(从带有主键的DB中),因此重复问题不是原因。请转储$tableau和$tableau1以查看正在使用的内容。只处理计数有点毫无意义。
array\u unique(array\u intersect($x,$y))
总是将
echo var\u dump(tableau)的结果作为一行提供给我。“
”;echo变量转储(表1)。“
string'tableau'(长度=7)string'tableau1'(长度=8)
让我无法理解为什么会得到大小=3,因为每个元素中只有一个元素。为什么结果是假的?
table state =
array
  0 => 
    array
      0 => string '1' (length=1)
      'id' => string '1' (length=1)
      1 => string '2013-01-01' (length=10)
      'date' => string '2013-01-01' (length=10)
      2 => string 'software engineer' (length=17)
      'title' => string 'software engineer' (length=17)
      3 => string 'wall street' (length=11)
      'state' => string 'wall street' (length=11)
      4 => string 'Newyork' (length=7)
      'city' => string 'Newyork' (length=7)
      5 => string 'alaska' (length=6)
      'region' => string 'alaska' (length=6)
      6 => string 'quality' (length=7)
      'company_name' => string 'quality' (length=7)
table total=
array
  0 => 
    array
      0 => string '1' (length=1)
      'id' => string '1' (length=1)
      1 => string '2013-01-01' (length=10)
      'date' => string '2013-01-01' (length=10)
      2 => string 'software engineer' (length=17)
      'title' => string 'software engineer' (length=17)
      3 => string 'wall street' (length=11)
      'state' => string 'wall street' (length=11)
      4 => string 'Newyork' (length=7)
      'city' => string 'Newyork' (length=7)
      5 => string 'alaska' (length=6)
      'region' => string 'alaska' (length=6)
      6 => string 'quality' (length=7)
      'company_name' => string 'quality' (length=7)
  1 => 
    array
      0 => string '2' (length=1)
      'id' => string '2' (length=1)
      1 => string '2013-01-08' (length=10)
      'date' => string '2013-01-08' (length=10)
      2 => string 'formater' (length=8)
      'title' => string 'formater' (length=8)
      3 => string 'erer' (length=4)
      'state' => string 'erer' (length=4)
      4 => string 'vvv' (length=3)
      'city' => string 'vvv' (length=3)
      5 => string 'colorado' (length=8)
      'region' => string 'colorado' (length=8)
      6 => string 'quality' (length=7)
      'company_name' => string 'quality' (length=7)
  2 => 
    array
      0 => string '3' (length=1)
      'id' => string '3' (length=1)
      1 => string '2013-01-08' (length=10)
      'date' => string '2013-01-08' (length=10)
      2 => string 'hardware engineer' (length=17)
      'title' => string 'hardware engineer' (length=17)
      3 => string 'rgjjer' (length=6)
      'state' => string 'rgjjer' (length=6)
      4 => string 'kjrg' (length=4)
      'city' => string 'kjrg' (length=4)
      5 => string 'oklahoma' (length=8)
      'region' => string 'oklahoma' (length=8)
      6 => string 'quality' (length=7)
      'company_name' => string 'quality' (length=7)

table small=
array
  0 => 
    array
      0 => string '1' (length=1)
      'id' => string '1' (length=1)
      1 => string '2013-01-01' (length=10)
      'date' => string '2013-01-01' (length=10)
      2 => string 'software engineer' (length=17)
      'title' => string 'software engineer' (length=17)
      3 => string 'wall street' (length=11)
      'state' => string 'wall street' (length=11)
      4 => string 'Newyork' (length=7)
      'city' => string 'Newyork' (length=7)
      5 => string 'alaska' (length=6)
      'region' => string 'alaska' (length=6)
      6 => string 'quality' (length=7)
      'company_name' => string 'quality' (length=7)
  1 => 
    array
      0 => string '2' (length=1)
      'id' => string '2' (length=1)
      1 => string '2013-01-08' (length=10)
      'date' => string '2013-01-08' (length=10)
      2 => string 'formater' (length=8)
      'title' => string 'formater' (length=8)
      3 => string 'erer' (length=4)
      'state' => string 'erer' (length=4)
      4 => string 'vvv' (length=3)
      'city' => string 'vvv' (length=3)
      5 => string 'colorado' (length=8)
      'region' => string 'colorado' (length=8)
      6 => string 'quality' (length=7)
      'company_name' => string 'quality' (length=7)
  2 => 
    array
      0 => string '3' (length=1)
      'id' => string '3' (length=1)
      1 => string '2013-01-08' (length=10)
      'date' => string '2013-01-08' (length=10)
      2 => string 'hardware engineer' (length=17)
      'title' => string 'hardware engineer' (length=17)
      3 => string 'rgjjer' (length=6)
      'state' => string 'rgjjer' (length=6)
      4 => string 'kjrg' (length=4)
      'city' => string 'kjrg' (length=4)
      5 => string 'oklahoma' (length=8)
      'region' => string 'oklahoma' (length=8)
      6 => string 'quality' (length=7)
      'company_name' => string 'quality' (length=7)