您好,登錄后才能下訂單哦!
PHP中線性表的順序存儲結構原理是什么?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
1.PHP中的數組實際上是有序映射,可以當成數組,列表,散列表,字典,集合,棧,隊列,不是固定的長度
2.數組定義中多個單元都使用了同一個鍵名,則只使用了最后一個,之前的都被覆蓋了
3.想要函數的一個參數總是通過引用傳遞,可以在函數定義中該參數的前面加上符號 &
4.PHP 的引用是別名,就是兩個不同的變量名字指向相同的內容;“默認情況下對象是通過引用傳遞的”。但其實這不是完全正確的,當對象作為參數傳遞,作為結果返回,或者賦值給另外一個變量,另外一個變量跟原來的不是引用的關系,只是他們都保存著同一個標識符的拷貝
<?php class Sqlist{ public $data=array(); public $length=0; } //插入元素 function listInsert(&$sqlist,$i,$e){ //位置是否超出范圍 if($i<1 && $i>$sqlist->length+1){ return false; } //從插入位置開始,后面的所有元素都退一位 if($i<=$sqlist->length){//要插入的位置不是在尾部 for($k=$sqlist->length-1;$k>=$i-1;$k--){ $sqlist->data[$k+1]=$sqlist->data[$k]; } } //新元素插入 $sqlist->data[$i-1]=$e; //長度加1 $sqlist->length++; return true; } //獲取元素 function getElement($sqlist,$i,&$e){ if($sqlist->length==0 || $i<1 || $i>$sqlist->length){ return false; } $e=$sqlist->data[$i-1]; return true; } //刪除元素 function listDelete($sqlist,$i,&$e){ if($sqlist->length==0 || $i<1 || $i>$sqlist->length){ return false; } $e=$sqlist->data[$i-1]; //如果是最后一個元素 if($i!=$sqlist->length){ //在刪除位置之后的元素,往前移動一位 for($k=$i-1;$k<=$sqlist->length-1;$k++){ $sqlist->data[$k]=$sqlist->data[$k+1]; } } $sqlist->length--; } //插入線性表 $sqlist=new Sqlist(); listInsert($sqlist,1,"Tau"); listInsert($sqlist,1,"Shihan"); //獲取元素 $e=""; getElement($sqlist,2,$e); echo $e."\n";//輸出Tau //刪除元素 listDelete($sqlist,1,$e); var_dump($sqlist);
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。