Heim >Backend-Entwicklung >PHP-Problem >So finden und löschen Sie Elemente mithilfe der PHP-Array-Manipulation

So finden und löschen Sie Elemente mithilfe der PHP-Array-Manipulation

PHPz
PHPzOriginal
2023-04-26 10:31:09614Durchsuche

PHP ist eine sehr beliebte serverseitige Skriptsprache, die in der Webentwicklung weit verbreitet ist. In PHP sind Arrays ein sehr verbreiteter Datentyp und werden häufig zum Speichern verwandter Datensammlungen verwendet.

Da die Datenmenge immer größer wird, ist es manchmal notwendig, bestimmte Elemente im Array zu finden oder zu löschen. In diesem Artikel besprechen wir, wie man Arrays mit PHP manipuliert, um Elemente zu finden und zu löschen.

1. Grundlegende Operationen von Arrays

(1) Erstellen Sie ein Array

In PHP können Sie ein neues Array über die Funktion array() erstellen:

$numbers = array(1, 2, 3, 4, 5);

Sie können auch den Operator [] verwenden, um ein Array zu erstellen:

$numbers = [1, 2, 3, 4, 5];

(2) So greifen Sie auf Array-Elemente zu

Beim Zugriff auf Array-Elemente können Sie den Operator [] plus den Index des Elements verwenden. Array-Indizes beginnen bei 0, daher hat das erste Element einen Index von 0.

echo $numbers[0];    //输出1

(3) Array-Elemente ändern

Wenn Sie ein Array-Element ändern müssen, können Sie mit dem Array-Index auf das Element zugreifen und den Wert neu zuweisen:

$numbers[0] = 10;

Dadurch wird das erste Element des Arrays von 1 auf geändert 10.

2. Array-Elemente finden

(1) Lineare Suche

Verwenden Sie in PHP eine for-Schleife, um Array-Elemente einzeln zu vergleichen, um bestimmte Elemente zu finden:

function linear_search($arr, $x) {
  for ($i=0; $i < count($arr); $i++) {
    if ($arr[$i] == $x) {
      return $i;
    }
  }
  return -1;
}

Hier wird eine Funktion namens linear_search definiert, die zwei Parameter akzeptiert: ein Array und der zu findende Wert. Es verwendet eine for-Schleife, um das Array zu durchlaufen, und sobald das Zielelement gefunden wurde, wird sein Index zurückgegeben.

Der Nachteil dieser Suchmethode besteht darin, dass im schlimmsten Fall das gesamte Array verglichen werden muss und die zeitliche Komplexität O(n) beträgt.

(2) Binäre Suche

Die binäre Suche ist eine effizientere Suchmethode, die in einigen Fällen die Suchzeit auf O(log n) verkürzen kann.

Diese Methode funktioniert nur bei sortierten Arrays. Hier ist die Grundidee: Sie können Ihre Suche jedes Mal um die Hälfte eingrenzen.

function binary_search($arr, $x) {
  $low = 0;
  $high = count($arr) - 1;
    
  while ($low <= $high) {
    $mid = floor(($low + $high) / 2);
        
    if ($arr[$mid] < $x) {
      $low = $mid + 1;
    }
    else if ($arr[$mid] > $x) {
      $high = $mid - 1;
    }
    else {
      return $mid;
    }
  }
    
  return -1;
}

Hier wird eine Funktion namens „binary_search“ definiert, die zwei Parameter akzeptiert: ein Array und den zu findenden Wert. Es verwendet eine While-Schleife, um zu ermitteln, wo sich das Zielelement befindet.

(3) Suchen mit der Funktion in_array

In PHP können Sie die integrierte Funktion in_array verwenden, um Elemente in einem Array zu finden:

$numbers = [10, 20, 30, 40, 50];

if (in_array(30, $numbers)) {
  echo "Found";
} else {
  echo "Not found";
}

Dieses Programm gibt „Gefunden“ aus, da das Array 30 enthält.

3. Array-Elemente löschen

(1) Verwenden Sie die Funktion „unset“ zum Löschen.

In PHP können Sie die integrierte Funktion „unset“ verwenden, um Elemente im Array zu löschen. Wenn das zu löschende Element das letzte Element des Arrays ist, können Sie die Funktion array_pop direkt verwenden.

$numbers = [10, 20, 30, 40, 50];

unset($numbers[2]);    //删除30
array_pop($numbers);   //删除50

print_r($numbers);

Dieses Programm gibt [10, 20, 40] aus, da 30 und 50 gelöscht wurden.

(2) Verwenden Sie die Funktion array_splice zum Löschen.

Eine andere Möglichkeit, Array-Elemente zu löschen, ist die Verwendung der Funktion array_splice. Diese Funktion kann ein oder mehrere Elemente gleichzeitig löschen, beginnend an jeder Position im Array.

$numbers = [10, 20, 30, 40, 50];

array_splice($numbers, 2, 1);  //删除30

print_r($numbers);

Dieses Programm gibt auch [10, 20, 40, 50] aus, da 30 entfernt wird.

Zusammenfassung

PHP bietet viele integrierte Funktionen und Operatoren zur Verarbeitung von Arrays. Das Suchen und Löschen von Array-Elementen gehört zu den Vorgängen, die in der PHP-Entwicklung häufig verwendet werden. Daher ist es wichtig, diese Techniken zu verstehen.

Bei der Suche nach Array-Elementen sind die lineare Suche und die binäre Suche die gängigsten Methoden, je nachdem, ob das Array sortiert ist oder nicht. Beim Löschen von Array-Elementen können Sie Funktionen wie unset, array_pop und array_splice verwenden.

Unabhängig von der Methode müssen Sie die Position und den Index des Zielelements kennen, um sicherzustellen, dass das Array-Element korrekt gelöscht wird.

Das obige ist der detaillierte Inhalt vonSo finden und löschen Sie Elemente mithilfe der PHP-Array-Manipulation. 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