Heim >Backend-Entwicklung >PHP-Tutorial >So trennen Sie ungerade und gerade Zahlen in einem PHP-Array

So trennen Sie ungerade und gerade Zahlen in einem PHP-Array

藏色散人
藏色散人Original
2019-01-14 13:21:464614Durchsuche

PHP Wie trenne ich ungerade und gerade Elemente aus einem Array, ohne eine Schleife zu verwenden?

So trennen Sie ungerade und gerade Zahlen in einem PHP-Array

In PHP erhalten Sie ein Array aus n Elementen. Sie müssen die Elemente aus dem Array danach trennen, ob die Elemente ungerade oder gerade sind. Das heißt, Sie drucken die ungeraden und geraden Arrays getrennt aus, ohne das ursprüngliche Array zu durchlaufen oder Schleifen zu verwenden.

Beispiel:

输入: array(2, 5, 6, 3, 0)
输出: 奇数array: 5 , 3
         偶数array: 2, 6, 0

输入: $input = array(0, 1, 2, 3, 4, 5)
输出: 奇数array: 1, 3, 5
         偶数array: 0, 2, 4

Diese Art von Problemen kann leicht gelöst werden, indem man das Array durchläuft und die ungeraden oder geraden einzelnen Elemente ausgibt, aber das wird mehr Codezeilen in Anspruch nehmen und der Code wird es tun Es entsteht ein Schleifen-Overhead. Um die Verwendung von Schleifen zu vermeiden, werden wir versuchen, einige in PHP integrierte Funktionen zu verwenden. Hier verwenden wir zwei PHP-Array-Funktionen array_filter() und array_values(), um dieses Problem zu lösen.

array_filter(): Diese Funktion wird verwendet, um ungerade/gerade Elemente im Eingabearray zu filtern.

array_values(): Diese Funktion wird verwendet, um ungerade und gerade Arrays neu zu indizieren, da array_filter ungerade und gerade Arrays denselben Index haben wie ihre Elemente im Eingabearray.

Hinweis: Die Funktion array_filter() filtert nur ungerade/gerade Indexelemente und ihre Indexwerte. Nach Anwendung der Funktion array_filter() betragen die Indizes des ungeraden Arrays 1,3,5 und die Indizes des geraden Arrays 0,2,4.

Algorithmus:

Elemente filtern :

Ungerade Elemente nach array_filter() filtern.

Gerade Elemente über array_filter() filtern.

Array neu indizieren:

Ungerade Arrays mit array_values() neu indizieren.

Indizieren Sie gerade Arrays mit array_values() neu.

Gerade/ungerade Array drucken.

Das Folgende ist die PHP-Implementierung des obigen Algorithmus:

<?php 
$input = array(4, 3, 6, 5, 8, 7, 2); 
function oddCmp($input) 
{ 
    return ($input & 1); 
} 
  
function evenCmp($input) 
{ 
    return !($input & 1); 
} 
  
$odd = array_filter($input, "oddCmp"); 
  
$even = array_filter($input, "evenCmp"); 
  
$odd = array_values(array_filter($odd)); 
  
$even = array_values(array_filter($even)); 
  
print"奇数数组:\n"; 
print_r($odd); 
  
print"偶数数组:\n"; 
print_r($even); 
  
?>

Die Ausgabe ist wie folgt:

So trennen Sie ungerade und gerade Zahlen in einem PHP-Array

Dieser Artikel ist eine Einführung in die spezifische Methode, wie man ungerade und gerade Zahlen in einem PHP-Array trennt (ohne Schleifen zu verwenden). Ich hoffe, er wird Freunden in Not hilfreich sein!

Das obige ist der detaillierte Inhalt vonSo trennen Sie ungerade und gerade Zahlen in einem PHP-Array. 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