Heim >Backend-Entwicklung >PHP-Problem >So finden Sie den Satz eines PHP-Arrays

So finden Sie den Satz eines PHP-Arrays

PHPz
PHPzOriginal
2023-04-23 10:20:58476Durchsuche

In der Programmiersprache PHP sind Arrays einer der am häufigsten verwendeten Datentypen. Arrays können einen geordneten Satz von Werten speichern und können auch zum Implementieren von Datenstrukturen wie Sätzen, Stapeln und Warteschlangen verwendet werden. In diesem Artikel werden die Mengenoperationen von PHP-Arrays erläutert, einschließlich Array-Deduplizierung, Array-Zusammenführung, Array-Schnittpunkt und Differenzoperationen.

  1. Array-Deduplizierung

In der tatsächlichen Entwicklung müssen wir manchmal doppelte Elemente im Array entfernen. PHP bietet einige integrierte Funktionen zur Implementierung dieser Funktion, beispielsweise die Funktion array_unique(). Wenn diese Funktion jedoch assoziative Arrays verarbeitet, behält sie das letzte doppelte Schlüssel-Wert-Paar bei. Daher können wir unsere eigene Funktion schreiben, um den Deduplizierungsvorgang zu implementieren:

function removeDuplicates($arr) {
  $output = array();
  foreach($arr as $value) {
    if(!in_array($value, $output)) {
      array_push($output, $value);
    }
  }
  return $output;
}

Im obigen Code verwenden wir eine foreach-Schleife, um das Array zu durchlaufen. Wenn festgestellt wird, dass der aktuelle Wert nicht im Ausgabearray vorhanden ist, fügen wir hinzu Es. Diese Funktion gibt ein neues Array ohne doppelte Elemente zurück.

  1. Array-Zusammenführung

In der tatsächlichen Entwicklung müssen wir manchmal zwei oder mehr Arrays zu einem neuen Array zusammenführen. PHP bietet integrierte Funktionen array_merge(), array_replace(), array_merge_recursive() und andere Funktionen, die diese Funktion implementieren können. Werfen wir einen Blick auf die Verwendung dieser Funktionen:

// array_merge()函数
$arr1 = array('apple', 'banana', 'orange');
$arr2 = array('pear', 'grape', 'watermelon');
$newArr = array_merge($arr1, $arr2); // 输出:apple, banana, orange, pear, grape, watermelon

// array_replace()函数
$arr1 = array('apple' => 1, 'banana' => 2);
$arr2 = array('orange' => 3, 'banana' => 4);
$newArr = array_replace($arr1, $arr2); // 输出:apple => 1, banana => 4, orange => 3

// array_merge_recursive()函数
$arr1 = array('apple' => 1, 'banana' => 2);
$arr2 = array('orange' => 3, 'banana' => array('x', 'y'));
$newArr = array_merge_recursive($arr1, $arr2); // 输出:apple => 1, banana => [2, ['x', 'y']], orange => 3

Bei der Verwendung verschiedener Funktionen zum Zusammenführen von Arrays müssen Sie auf deren Unterschiede und Verwendung achten.

  1. Array-Schnittpunkt

In der tatsächlichen Entwicklung müssen wir manchmal den Schnittpunkt von zwei oder mehr Arrays nehmen, das heißt, nur die gemeinsamen Elemente zwischen ihnen beibehalten. PHP bietet integrierte Funktionen array_intersect(), array_intersect_assoc(), array_uintersect() und andere Funktionen, die diese Funktion implementieren. Werfen wir einen Blick auf die Verwendung dieser Funktionen:

// array_intersect()函数
$arr1 = array('apple', 'banana', 'orange');
$arr2 = array('pear', 'banana', 'watermelon');
$newArr = array_intersect($arr1, $arr2); // 输出:banana

// array_intersect_assoc()函数
$arr1 = array('apple' => 1, 'banana' => 2, 'orange' => 3);
$arr2 = array('pear' => 4, 'banana' => 5, 'watermelon' => 6);
$newArr = array_intersect_assoc($arr1, $arr2); // 输出:banana => 2

// array_uintersect()函数
function compare($a, $b) {
  if($a === $b) {
    return 0;
  }
  else {
    return ($a > $b ? 1 : -1);
  }
}
$arr1 = array('apple', 'banana', 'orange');
$arr2 = array('pear', 'banana', 'watermelon');
$newArr = array_uintersect($arr1, $arr2, 'compare'); // 输出:banana

Bei der Verwendung verschiedener Array-Schnittfunktionen müssen Sie auf deren Unterschiede und Verwendung achten.

  1. Array-Unterschied

In der tatsächlichen Entwicklung müssen wir manchmal den Differenzsatz von zwei oder mehr Arrays nehmen, das heißt, die Elemente, die in den nachfolgenden Arrays erscheinen, aus dem ersten Array entfernen. PHP bietet integrierte Funktionen array_diff(), array_diff_assoc(), array_udiff() und andere Funktionen, die diese Funktion implementieren. Werfen wir einen Blick auf die Verwendung dieser Funktionen:

// array_diff()函数
$arr1 = array('apple', 'banana', 'orange');
$arr2 = array('pear', 'banana', 'watermelon');
$newArr = array_diff($arr1, $arr2); // 输出:apple, orange

// array_diff_assoc()函数
$arr1 = array('apple' => 1, 'banana' => 2, 'orange' => 3);
$arr2 = array('pear' => 4, 'banana' => 5, 'watermelon' => 6);
$newArr = array_diff_assoc($arr1, $arr2); // 输出:apple => 1, banana => 2, orange => 3

// array_udiff()函数
function compare($a, $b) {
  if($a === $b) {
    return 0;
  }
  else {
    return ($a > $b ? 1 : -1);
  }
}
$arr1 = array('apple', 'banana', 'orange');
$arr2 = array('pear', 'banana', 'watermelon');
$newArr = array_udiff($arr1, $arr2, 'compare'); // 输出:apple, orange

Bei der Verwendung verschiedener Array-Differenzfunktionen müssen Sie auf deren Unterschiede und Verwendung achten.

Zusammenfassung

In der PHP-Programmierung sind Arrays einer der am häufigsten verwendeten Datentypen. Durch die Verwendung einiger integrierter Funktionen oder das Schreiben eigener Funktionen können wir problemlos verschiedene Vorgänge auf PHP-Arrays implementieren, z. B. Deduplizierung, Zusammenführung, Schnittmenge, Differenz usw. In der tatsächlichen Entwicklung müssen diese Vorgänge je nach Szenario flexibel eingesetzt werden, um bessere Ergebnisse zu erzielen.

Das obige ist der detaillierte Inhalt vonSo finden Sie den Satz eines PHP-Arrays. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn