Maison > Article > développement back-end > Introduction détaillée à l'extension Data Structures en php
Parce que les tableaux sont trop puissants en PHP, ces structures de données sont incluses, il n'est donc pas nécessaire de prêter attention à ces structures de données, et ces concepts s'estomperont avec le temps. Il existe une extension en PHP appelée Data Structures, qui inclut ces structures de données communes. Présentons-le aujourd’hui.
En PHP, parce que les tableaux sont trop puissants, ces structures de données sont incluses, il n'est donc pas nécessaire de prêter attention à ces structures de données avec le temps, ces concepts disparaîtront. structures de données en PHP.
Il existe une extension Data Structures en PHP, qui inclut ces structures de données communes.
File d'attente prioritaire
Hash de table de hachageSet Collection
$queue = new Ds\PriorityQueue(); $queue->allocate(8);
$queue = new Ds\PriorityQueue(); // 此时返回默认值 8 $queue->capacity();
$queue = new Ds\PriorityQueue(); $queue->push('value1', 1); $queue->push('value2', 2);Exemple
$queue = new Ds\PriorityQueue(); $queue->push('沙僧', 2); $queue->push('唐僧', 5); $queue->push('白龙马', 1); $queue->push('猪八戒', 3); $queue->push('孙悟空', 4); $cout = $queue->count(); for($i=0; $i<$cout; $i++) { echo $queue->pop(); echo PHP_EOL; }
唐僧 孙悟空 猪八戒 沙僧 白龙马Scénario d'application MySQL Afin d'accélérer la requête et d'éviter le tri, l'index ne peut pas être utilisé et aucun tri n'est effectué. Effectuez un tri manuel au niveau du code du serveur, puis revenez. Autres scénarios d'application... La file d'attente à double extrémité Dequea deux pointeurs pointant respectivement vers la tête et la queue. L'insertion et l'éjection peuvent être effectuées respectivement au niveau de la tête et de la queue. Avantages
$deque = new Ds\Deque(); $deque->push(...['唐僧', '孙悟空', '猪八戒', '沙僧', '白龙马']); $clone = $deque->copy(); $count = $deque->count(); echo '头:'.$deque->first().PHP_EOL; echo '尾:'.$deque->last().PHP_EOL; echo '--- 从队尾开始 ----'.PHP_EOL; for($i=0; $i<$count; $i++) { echo $deque->pop(); echo PHP_EOL; } echo '--- 从队头开始 ----'.PHP_EOL; for($i=0; $i<$count; $i++) { echo $clone->shift(); echo PHP_EOL; }
头:唐僧 尾:白龙马 --- 从队尾开始 ---- 白龙马 沙僧 猪八戒 孙悟空 唐僧 --- 从队头开始 ---- 唐僧 孙悟空 猪八戒 沙僧 白龙马Scénarios d'application
Scénarios d'applications multiples
$queue = new Ds\Queue(); $queue->push('唐僧'); $queue->push(...['孙悟空', '猪八戒']); $queue->push(['沙僧', '白龙马']); print_r($queue);
Ds\Queue Object ( [0] => 唐僧 [1] => 孙悟空 [2] => 猪八戒 [3] => Array ( [0] => 沙僧 [1] => 白龙马 ) )
$Stack = new Ds\Stack(); $Stack->push('唐僧'); $Stack->push(...['孙悟空', '猪八戒']); $Stack->push(...['沙僧', '白龙马']); $cout = $Stack->count(); for($i=0; $i<$cout; $i++) { echo $Stack->pop(); echo PHP_EOL; }Output
白龙马 沙僧 猪八戒 孙悟空 唐僧
Lorsque des objets sont utilisés comme clés, ils ne peuvent pas être convertis en tableaux.
Apprentissage recommandé : Tutoriel vidéo php
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!