Heim  >  Artikel  >  Backend-Entwicklung  >  So ermitteln Sie die Summe einiger Elemente in einem Array in PHP

So ermitteln Sie die Summe einiger Elemente in einem Array in PHP

PHPz
PHPzOriginal
2023-04-20 10:14:54586Durchsuche

Kürzlich bin ich beim Entwickeln einer Website auf ein Problem gestoßen. Ich benötige einige Daten aus einem Array, um sie auf der Website anzuzeigen. Dieses Array enthält viele Elemente, aber nur einige davon sind das, was ich brauche. Nach ständigen Versuchen und Recherchen habe ich endlich eine Lösung gefunden, nämlich die Funktion array_slice() in PHP. In diesem Artikel werde ich Ihnen das Verwendungs- und Implementierungsprinzip dieser Funktion ausführlich vorstellen.

Zuerst müssen wir die grundlegende Syntax der Funktion array_slice() verstehen. Die Syntax lautet wie folgt:

array array_slice ( array $array , int $offset [, int $length = NULL [, bool $preserve_keys = FALSE ]] )

Unter diesen ist $array das Array, das wir verarbeiten möchten, $offset stellt die Startposition der Daten dar, die wir erhalten möchten, und $length stellt die Länge der Daten dar, die wir erhalten möchten, wenn nicht angegeben, wird standardmäßig von $offset abgerufen. Alle Daten bis zum Ende des Arrays. $preserve_keys gibt an, ob die Schlüsselnamen der Elemente im ursprünglichen Array beibehalten werden sollen. Der Rückgabewert dieser Funktion ist ein neues Array, das den angegebenen Datenteil enthält.

Als nächstes werfen wir einen Blick auf die Verwendung dieser Funktion. Angenommen, wir haben ein Array $students, das viele Studenteninformationen enthält. Jedes Element enthält den Namen, die Studentennummer, das Geschlecht, das Alter und andere Informationen. Wir müssen die Namen und Studentennummern der ersten 10 Studenten abrufen kann den Code so schreiben:

$students = array(/*这里是很多个学生信息*/);
$part_students = array_slice($students, 0, 10); //获取前10个学生的数据
$name_id = array_map(function($s) { //通过array_map()函数,将每个学生的姓名和学号取出来
  return array(
    'name' => $s['name'],
    'id' => $s['id']
  );
}, $part_students);

//将数据在网站上进行展示
foreach($name_id as $info) {
  echo "姓名:".$info['name']." 学号:".$info['id']."<br/>";
}

Mit dem obigen Code können wir die Namen und Studentennummern der ersten 10 Studenten aus dem $students-Array abrufen und sie auf der Website anzeigen. Der obige Code verwendet auch die Funktion array_map(). Freunde, die damit nicht vertraut sind, können sie selbst suchen und lernen.

Zusätzlich zum Abrufen eines Teils des Arrays kann die Funktion array_slice() auch eine negative Zahl verwenden, um die Position darzustellen, die vom Ende des Arrays heruntergezählt wird. Wenn wir beispielsweise die Daten der letzten 10 Schüler im Array erhalten möchten, können wir schreiben:

$part_students = array_slice($students, -10);

Auf diese Weise enthält das Array $part_students die Daten der letzten 10 Schüler im Array $students.

Lassen Sie uns abschließend das Implementierungsprinzip der Funktion array_slice() untersuchen. Tatsächlich ist die Implementierung dieser Funktion sehr einfach und verwendet hauptsächlich die Funktionen array_chunk() und array_merge() in PHP. Am Beispiel der ersten 10 Elemente eines Arrays sieht die interne Implementierung der Funktion ungefähr wie folgt aus:

function array_slice($array, $offset, $length = NULL, $preserve_keys = FALSE) {
  $len = count($array);
  if($offset < 0) { //如果$offset是负数,就转化成从数组末尾倒数的位置
    $offset = $len + $offset;
  }
  if($length === NULL) { //如果$length没指定,就获取从$offset到数组末尾的所有数据
    $length = $len - $offset;
  }
  $chunk = array_chunk($array, $length, $preserve_keys); //将数组按指定长度分块
  $part = $chunk[0]; //获取第一块的数据
  if(!$preserve_keys) { //如果不保留键名,重新索引数组
    $part = array_values($part);
  }
  return $part;
}

Unter diesen unterteilt die Funktion array_chunk () das Array entsprechend der angegebenen Länge in mehrere Blöcke. Jeder Block ist ein Sub-Array und die Funktion array_merge(). Sie kombiniert mehrere Subarrays zu einem Gesamtarray. Durch die Kombination dieser beiden Funktionen kann die Funktion array_slice () die Funktion erreichen, einen Teil der Daten aus dem Array abzurufen.

In der tatsächlichen Entwicklung müssen wir häufig einen Teil der Daten aus einer großen Datenmenge zur Anzeige abrufen. Zu diesem Zeitpunkt ist die Funktion array_slice() sehr praktisch. Es kann die Daten, die wir verarbeiten möchten, schnell in die Teile zerlegen, die wir benötigen. Da es sich um eine in PHP integrierte Funktion handelt, ist gleichzeitig auch die Ausführungseffizienz sehr hoch.

Das obige ist der detaillierte Inhalt vonSo ermitteln Sie die Summe einiger Elemente in einem Array in PHP. 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