


Entsprechende Operationen von PHP auf zweidimensionalen Arrays
In diesem Artikel werden hauptsächlich die entsprechenden Operationen von PHP für zweidimensionale Arrays vorgestellt. Ich hoffe, dass er für alle hilfreich ist.
Tipps:
array_keys($array) //返回所有键名 array_values($array) //返回所有键值 $result=array_reverse($input); //将数组颠倒,不保留键名 $result_keyed=array_reverse($input,true); //将数组颠倒,保留键名 array_keys($array,"blue"); //返回值为blue的键名
1. PHP 2 Dimensional Array-Deduplizierungsfunktion
PHP-Array verfügt über eine integrierte Funktion zum Entfernen von Duplikaten array_unique(), aber die array_unique-Funktion von PHP gilt nur für eindimensionale Multi-Arrays. dimensionale Arrays sind nicht anwendbar.
Eindimensionale Arrays Sortiermethode:
Öffentliche Funktionen:
function unique_arr($array2D,$stkeep=false,$ndformat=true) { // 判断是否保留一级数组键 (一级数组键可以为非数字) if($stkeep) $stArr = array_keys($array2D); // 判断是否保留二级数组键 (所有二级数组键必须相同) if($ndformat) $ndArr = array_keys(end($array2D)); //降维,也可以用implode,将一维数组转换为用逗号连接的字符串 foreach ($array2D as $v){ $v = join(",",$v); $temp[] = $v; } //去掉重复的字符串,也就是重复的一维数组 $temp = array_unique($temp); //再将拆开的数组重新组装 foreach ($temp as $k => $v) { if($stkeep) $k = $stArr[$k]; if($ndformat) { $tempArr = explode(",",$v); foreach($tempArr as $ndkey => $ndval) $output[$k][$ndArr[$ndkey]] = $ndval; } else $output[$k] = explode(",",$v); } return $output; }
Die erste Gruppe: sort und rsort
, Sortieren Sie nach der Reihenfolge aufsteigend und umgekehrt absteigend des PHP-Array-Schlüsselwerts. Gleichzeitig wird die Indexbeziehung des ursprünglichen Arrays zerstört – tatsächlich ist der numerische Index ab 0 re -errichtet nach dem Löschen des Index.
$array2D = array('first'=>array('title'=>'1111','date'=>'2222'),'second'=>array('title'=>'1111','date'=>'2222'),'third'=>array('title'=>'2222','date'=>'3333')); print_r($array2D); print_r(unique_arr($array2D,true));
Der zweite Satz von Funktionen: asort und arsort, diese beiden Funktionen sind leistungsfähiger Ein Punkt: Solange sie die ursprüngliche Indexbeziehung des Arrays beibehalten können, ersetzen Sie sort und rsort im obigen Beispiel jeweils durch diese beiden Funktionen
function printr($arr) { echo '<pre class="brush:php;toolbar:false">'; print_r($arr); echo '
'; }
Die dritte Gruppe von PHP-Array-Sortierfunktionen: krsort und ksort, Diese beiden Funktionen unterscheiden sich von den beiden oben genannten Gruppen.
$a = array('a'=>1,2); sort($a); printr($a); rsort($a); printr($a); /*Array ( [0] => 1 [1] => 2 ) Array ( [0] => 2 [1] => 1 ) */
PHP-Arrays durch benutzerdefinierte Funktionen sortieren Es gibt drei Funktionen: uasort Sortieren Sie die Schlüsselwerte von PHP-Arrays durch benutzerdefinierte Funktionen die ursprüngliche Indexbeziehung. uksort sortiert die Schlüsselnamen des PHP-Arrays über eine benutzerdefinierte Funktion und behält die ursprüngliche Indexbeziehung bei. usort sortiert die Schlüsselwerte des PHP-Arrays über eine benutzerdefinierte Funktion, löscht die ursprüngliche Indexbeziehung und erstellt einen neuen Index von Grund auf. Das Folgende ist die
$a = array('a'=>1,2); asort($a); printr($a); arsort($a); printr($a); /* Array ( [a] => 1 [0] => 2 ) Array ( [0] => 2 [a] => 1 ) */
Beispiel :
$a = array('a'=>1,2); ksort($a); printr($a); krsort($a); printr($a); /* Array ( [0] => 2 [a] => 1 ) Array ( [a] => 1 [0] => 2 ) */
/** * @package BugFree * @version $Id: FunctionsMain.inc.php,v 1.32 2005/09/24 11:38:37 wwccss Exp $ * * * Sort an two-dimension array by some level two items use array_multisort() function. * * sortArr($Array,"Key1","SORT_ASC","SORT_RETULAR","Key2"……) * @author Chunsheng Wang <wwccss@263.net> * @param array $ArrayData the array to sort. * @param string $KeyName1 the first item to sort by. * @param string $SortOrder1 the order to sort by("SORT_ASC"|"SORT_DESC") * @param string $SortType1 the sort type("SORT_REGULAR"|"SORT_NUMERIC"|"SORT_STRING") * @return array sorted array. */ function sortArr($ArrayData,$KeyName1,$SortOrder1 = "SORT_ASC",$SortType1 = "SORT_REGULAR") { if(!is_array($ArrayData)) return $ArrayData; // Get args number. $ArgCount = func_num_args(); // Get keys to sort by and put them to SortRule array. for($I = 1;$I < $ArgCount;$I ++) { $Arg = func_get_arg($I); if(!eregi("SORT",$Arg)) { $KeyNameList[] = $Arg; $SortRule[] = '$'.$Arg; } else $SortRule[] = $Arg; } // Get the values according to the keys and put them to array. foreach($ArrayData AS $Key => $Info) { foreach($KeyNameList AS $KeyName) ${$KeyName}[$Key] = strtolower($Info[$KeyName]); } // Create the eval string and eval it. $EvalString = 'array_multisort('.join(",",$SortRule).',$ArrayData);'; eval ($EvalString); return $ArrayData; }
//################# 示例 ################# $arr = array( array( 'name' => '学习', 'size' => '1235', 'type' => 'jpe', 'time' => '1921-11-13', 'class' => 'dd', ), array( 'name' => '中国功夫', 'size' => '153', 'type' => 'jpe', 'time' => '2005-11-13', 'class' => 'jj', ), array( 'name' => '编程', 'size' => '35', 'type' => 'gif', 'time' => '1997-11-13', 'class' => 'dd', ), array( 'name' => '中国功夫', 'size' => '65', 'type' => 'jpe', 'time' => '1925-02-13', 'class' => 'yy', ), array( 'name' => '中国功夫', 'size' => '5', 'type' => 'icon', 'time' => '1967-12-13', 'class' => 'rr', ), ); echo '<pre class="brush:php;toolbar:false">'; print_r($arr); echo '<br>'; //注意:按照数字方式排序时 153 比 65 小 $temp = sortArr($arr,"name","SORT_ASC","type","SORT_DESC","size","SORT_ASC","SORT_STRING"); print_r($temp); echo '';
function rebuild_array($arr){ //rebuild a array static $tmp=array(); for($i=0; $i<count($arr); $i++){ if(is_array($arr[$i])){ rebuild_array($arr[$i]); }else{ $tmp[]=$arr[$i]; } } return $tmp; }
$arr=array('123.html','456.html',array('dw.html','fl.html',array('ps.html','fw.html')),'ab.html'); // 定义一个三维数组,用来检测我们的函数 echo '<pre class="brush:php;toolbar:false">'; print_r(rebuild_array($arr)); echo '';
5. Holen Sie sich den Wert unter einem bestimmten Schlüssel unter dem mehrdimensionalen Array und generieren Sie ein eindimensionales Array
function array_remove_empty(&$arr, $trim = true) { foreach ($arr as $key => $value) { if (is_array($value)) { array_remove_empty($arr[$key]); } else { $value = trim($value); if ($value == '') { unset($arr[$key]); } elseif ($trim) { $arr[$key] = $value; } } } }
Zusammenfassung: Das Obige ist der gesamte Inhalt dieses Artikels, ich hoffe, dass er für das Studium aller hilfreich sein wird.
Verwandte Empfehlungen:
So legen Sie Header-Informationen in PHP fest
So zwischenspeichern Sie PHP-Dateien
Das obige ist der detaillierte Inhalt vonEntsprechende Operationen von PHP auf zweidimensionalen Arrays. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Laravel vereinfacht die Behandlung von temporären Sitzungsdaten mithilfe seiner intuitiven Flash -Methoden. Dies ist perfekt zum Anzeigen von kurzen Nachrichten, Warnungen oder Benachrichtigungen in Ihrer Anwendung. Die Daten bestehen nur für die nachfolgende Anfrage standardmäßig: $ Anfrage-

Die PHP Client -URL -Erweiterung (CURL) ist ein leistungsstarkes Tool für Entwickler, das eine nahtlose Interaktion mit Remote -Servern und REST -APIs ermöglicht. Durch die Nutzung von Libcurl, einer angesehenen Bibliothek mit Multi-Protokoll-Dateien, erleichtert PHP Curl effiziente Execu

Alipay PHP ...

Laravel bietet eine kurze HTTP -Antwortsimulationssyntax und vereinfache HTTP -Interaktionstests. Dieser Ansatz reduziert die Code -Redundanz erheblich, während Ihre Testsimulation intuitiver wird. Die grundlegende Implementierung bietet eine Vielzahl von Verknüpfungen zum Antworttyp: Verwenden Sie Illuminate \ Support \ facades \ http; Http :: fake ([ 'Google.com' => 'Hallo Welt',, 'github.com' => ['foo' => 'bar'], 'Forge.laravel.com' =>

Möchten Sie den dringlichsten Problemen Ihrer Kunden in Echtzeit und Sofortlösungen anbieten? Mit Live-Chat können Sie Echtzeitgespräche mit Kunden führen und ihre Probleme sofort lösen. Sie ermöglichen es Ihnen, Ihrem Brauch einen schnelleren Service zu bieten

In Artikel wird die in PHP 5.3 eingeführte LSB -Bindung (LSB) erörtert, die die Laufzeitauflösung der statischen Methode ermöglicht, um eine flexiblere Vererbung zu erfordern. Die praktischen Anwendungen und potenziellen Perfo von LSB

In Artikel werden wichtige Sicherheitsfunktionen in Frameworks erörtert, um vor Schwachstellen zu schützen, einschließlich Eingabevalidierung, Authentifizierung und regelmäßigen Aktualisierungen.

JWT ist ein offener Standard, der auf JSON basiert und zur sicheren Übertragung von Informationen zwischen Parteien verwendet wird, hauptsächlich für die Identitätsauthentifizierung und den Informationsaustausch. 1. JWT besteht aus drei Teilen: Header, Nutzlast und Signatur. 2. Das Arbeitsprinzip von JWT enthält drei Schritte: Generierung von JWT, Überprüfung von JWT und Parsingnayload. 3. Bei Verwendung von JWT zur Authentifizierung in PHP kann JWT generiert und überprüft werden, und die Funktionen und Berechtigungsinformationen der Benutzer können in die erweiterte Verwendung aufgenommen werden. 4. Häufige Fehler sind Signaturüberprüfungsfehler, Token -Ablauf und übergroße Nutzlast. Zu Debugging -Fähigkeiten gehört die Verwendung von Debugging -Tools und Protokollierung. 5. Leistungsoptimierung und Best Practices umfassen die Verwendung geeigneter Signaturalgorithmen, das Einstellen von Gültigkeitsperioden angemessen.
