Home  >  Article  >  Backend Development  >  Example analysis of the joint use of key, current and next in PHP, next example analysis_PHP tutorial

Example analysis of the joint use of key, current and next in PHP, next example analysis_PHP tutorial

WBOY
WBOYOriginal
2016-07-12 08:55:16994browse

Example analysis of the joint use of key and current, next in PHP, next example analysis

This article describes the joint use method of key, current, next in PHP. Share it with everyone for your reference, the details are as follows:

Question:

$arrq = array();
$arrq['tuc'] = array('sss'=>'ewq','shu'=>'sjkah','saa'=>'dwjhaz');
$arrq['tucs'] = array('ssss'=>'ewsq','sQhu'=>dwjhaz','sa12a'=>'dwjQhaz');
$arrq['tuca'] = array('sssd'=>'ewqq','shu2'=>'sjkah','saSa'=>'dwjhhaz');

How to remove duplicate values ​​from the $arrq array without destroying the array structure?

Idea: First output the elements in the first two-dimensional array using the array_unique function.
When outputting the elements in the second two-dimensional array, you first use array_unique to process them, and then remove the elements that already exist in the first two-dimensional array.
When outputting the third one, you first use array_unique to process it, and then remove the elements that already exist in the first and second two-dimensional array sets.
And so on.

In short, you first need to array_unqiue to remove duplicates, and then remove the elements that exist in the previous set of array elements.

The following is the code:

<&#63;php
$arrq = array();
$arrq['tuc'] = array('sss'=>'ewq','shu'=>'sjkah','saa'=>'dwjhaz');
$arrq['tucs'] = array('ssss'=>'ewsq','sQhu'=>'dwjhaz','sa12a'=>'dwjQhaz');
$arrq['tuca'] = array('sssd'=>'ewqq','shu2'=>'sjkah','saSa'=>'dwjhhaz');
$last=array(); //设置一个空的用来比较的数组
while($arr=current($arrq)) {
  //echo key($arrq);
  $tmp=array_unique($arr); //先清除每个一维数组自身相同的值
  if(count($last)==0) {
    $last=array_merge($last,$arr); //将已经去重的前面的数组合并
  }
  else { // 对其余一维数组进行输出
    //echo key($arrq);
    foreach($arr as $ke=>$va) {
      if(in_array($arr[$ke], $last)) //如果已经存在的元素
      unset($arrq[key($arrq)][$ke]); //删除,此处取得数组元素的KEY值是关键
    }
    $last=array_merge($last,$arr); //将$last变为前面数组的合集,用来进行下次比较
  }
  next($arrq); //指针向后移,这样才能用key函数取得不同的$arrq的下标
}
//以下输出处理后的数组
foreach($arrq as $arr) {
  foreach($arr as $val) {
    echo $val." ";
  }
  echo "<br>";
}
&#63;>

The running result is:

Readers who are interested in more PHP-related content can check out the special topics of this site: "Summary of PHP Network Programming Skills", "Introduction Tutorial on PHP Basic Grammar", "Summary of PHP Office Document Skills (including word, excel, access, ppt)", "php date and time usage summary", "php object-oriented programming introductory tutorial", "php string (string) usage summary", "php mysql database operation introductory tutorial" and "php common database operation skills summary" 》

I hope this article will be helpful to everyone in PHP programming.

Articles you may be interested in:

  • How to traverse arrays using key, value, current, next and prev functions in PHP
  • Source code of array_keys and array_unique functions in PHP Analysis
  • PHP’s method of restoring the key of an array to a numeric sequence
  • PHP’s method of sorting an array by the specified KEY
  • Solution to the lack of double quotes in PHP’s processing of JSON string keys
  • The difference between quoted and unquoted Key in PHP array index
  • PHP How to get a set of a certain key in a two-dimensional array
  • PHP array current and next usage sharing
  • Examples of usage of current, next and reset functions in php
  • Get the value of the first element of the unknown character key name array through PHP current function

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/1117082.htmlTechArticleExample analysis of the joint use of key and current, next in PHP, next example analysis This article tells the example of key and The combined use method of current and next. Share it with everyone for your reference, specifically...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn