[PHP Learning] Analyse des sequentiellen Speicherstrukturprinzips linearer Tabellen und Codebeispiele

little bottle
Freigeben: 2023-04-06 11:16:01
nach vorne
1822 Leute haben es durchsucht

In diesem Artikel geht es hauptsächlich um die Analyse des sequentiellen Speicherstrukturprinzips linearer Tabellen und Codebeispiele. Es hat einen gewissen Referenzwert und interessierte Freunde können mehr darüber erfahren.

1. Arrays in PHP sind eigentlich geordnete Karten, die als Arrays, Listen, Hash-Tabellen, Wörterbücher, Mengen, Stapel, Warteschlangen verwendet werden können und keine festen Längen haben.
2 Die Einheiten verwenden alle denselben Schlüsselnamen, nur der letzte wird verwendet und die vorherigen werden überschrieben
3. Wenn Sie möchten, dass ein Parameter der Funktion immer als Referenz übergeben wird, können Sie ihn vor dem hinzufügen Parameter in der Funktionsdefinition Symbol &
4. PHP-Referenzen sind Aliase, d. h. zwei verschiedene Variablennamen verweisen auf denselben Inhalt. „Standardmäßig werden Objekte als Referenz übergeben.“ Tatsächlich ist dies jedoch nicht ganz korrekt. Wenn ein Objekt als Parameter übergeben, als Ergebnis zurückgegeben oder einer anderen Variablen zugewiesen wird, hat die andere Variable keine Referenzbeziehung mit der ursprünglichen Variable, sondern beide speichern Kopien derselben Bezeichner

<?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);
Nach dem Login kopieren

Verwandte Tutorials:PHP-Video-Tutorial

Das obige ist der detaillierte Inhalt von[PHP Learning] Analyse des sequentiellen Speicherstrukturprinzips linearer Tabellen und Codebeispiele. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
php
Quelle:cnblogs.com
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage