首頁 >後端開發 >PHP問題 >php怎麼安裝spl標準函式庫

php怎麼安裝spl標準函式庫

藏色散人
藏色散人原創
2021-10-14 09:57:552096瀏覽

php是不需要安裝spl標準函式庫的,因為spl標準函式庫是php內建的一些拓展類別和拓展接口,其內容包含資料結構、迭代器、接口、異常、SPL函數,檔案處理等內容,不需要額外的配置,可以直接使用。

php怎麼安裝spl標準函式庫

本文操作環境:windows7系統、PHP7.1版、DELL G3電腦

php怎麼安裝spl標準函式庫?

PHP的SPL標準函式庫

1,簡介

  SPL,全名為Standard PHP Library 中文是標準PHP類別函式庫。是php內建的一些拓展類別和拓展接口,其內容包含資料結構、迭代器、接口、異常、SPL函數,文件處理等內容。 SPL拓展只能用於PHP5.3版本及以後,且不需要進行額外的配置,可以直接使用。詳細資訊可進入PHP官方網站 https://www.php.net/spl查看。這裡主要說明SPL中的資料結構內容的使用。

2,使用

1、堆疊

  堆疊是先進先出的資料結構。並且只能對棧的兩端進行操作,進棧或出棧。 SplStack類別透過使用雙向鍊錶來提供堆疊的主要功能。將出棧想像成遍歷一個相反的陣列的過程

$stack = new SplStack();
$stack->push(&#39;张三<br>&#39;);//入栈
$stack->push(&#39;李四<br>&#39;);
$stack->unshift("王五");//将’王五‘放入栈底
echo $stack->pop();//出栈 李四
echo $stack->pop();//张三
echo $stack->pop();//王五

複製程式碼

2、對列

  佇列是一種先進先出的資料結構。 SplQueue 類別同樣透過使用雙向鍊錶來提供佇列的主要功能。

$queue = new splQueue();
$queue->enqueue(5);//入队列
$queue->enqueue(2);
$queue->enqueue(1);
$queue->enqueue(3);
echo $queue->dequeue(); //出队列 5
echo $queue->dequeue(); //2
echo $queue->dequeue(); //1
echo $queue->dequeue(); //3

3、堆

  堆就是為了實現優先隊列而設計的一種資料結構,它是透過建構二叉堆來實現。其中根節點最大的堆叫做最大堆或大根堆,根節點最小的堆叫做最小堆或小根堆,最大堆(SplMaxHeap)和最小堆(SplMinHeap)都繼承它實現的堆主要用於排序。

//最大堆 升序输出
$heap = new SplMaxHeap();
$heap->insert(&#39;E&#39;);
$heap->insert(&#39;B&#39;);
$heap->insert(&#39;D&#39;);
$heap->insert(&#39;A&#39;);
$heap->insert(&#39;C&#39;);
echo $heap->extract().&#39;<br>&#39;; # E
echo $heap->extract().&#39;<br>&#39;; # D
// 最小堆 降序输出
$heap = new SplMinHeap();
$heap->insert(&#39;E&#39;);
$heap->insert(&#39;B&#39;);
$heap->insert(&#39;D&#39;);
$heap->insert(&#39;A&#39;);
$heap->insert(&#39;C&#39;);
echo $heap->extract().&#39;<br>&#39;;
echo $heap->extract().&#39;<br>&#39;;

最大堆:堆中每個父節點的元素值都大於等於其孩子結點(如果存在);

最小堆:堆中每個父節點的元素值都小於等於其孩子結點(如果存在);

4、固定數組

//固定数组
$i = 1000000;
$fixbtime = microtime(true);
$fixstart = memory_get_usage();
$fixArray = new SplFixedArray($i);//生成长度为i的固定数组
$fixend = memory_get_usage();
$fixetime = microtime(true);
//普通数组
$btime2 = microtime(true);
$arr = array_fill(0, $i, null);
$end = memory_get_usage();
//生成固定长度的固定数组和普通数组所用时间
echo $fixetime - $fixbtime, PHP_EOL;        //固定数组 0.0065009593963623 
echo microtime(true) - $btime2, PHP_EOL;    //普通数组 0.1734619140625  
//生成固定长度的固定数组和普通数组所占内存
echo $fixend - $fixstart, PHP_EOL;          //固定数组 4000280 byte
echo $end - $fixend, PHP_EOL;               //普通数组 52194712 byte

  在記憶體和時間方面,固定數組都比普通數組的消耗少了很多。但對於固定數組來說,對記憶體的申請一步到位了,當記憶體不夠時候會報錯,當記憶體用不完時,也不會釋放,只能浪費。同時,固定數組都是索引數組,不能使用除了整數以外的key。

推薦學習:《PHP影片教學

以上是php怎麼安裝spl標準函式庫的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn