Har sutit och funderat lite på hur jag skall skappa en array som jag sen kan lägga till data i efterhand jag kommer på att det behövs. Alltså en dynamisk.
Förut gick det typ att göra så här:
$AccessArray[count($AccessArray)] = "Lite data";
Får det inte att funka när jag håller på med klasser. Tänkta att typ deta borde funka:
$this->AccessArray[count($this->AccessArray)] = "Lite data";
stycket ligger i en funktion i en klass. Så det är typ en global variabel för klassen.
class MinKlass {
private $minArray;
function add( $värde ) {
array_push( $this->minArray, $värde );
}
function pop() {
return array_pop( $this->minArray );
}
}
$instans = new MinKlass();
$instans->add( "där." );
$instans->add( "Hej " );
echo $instans->pop();
echo $instans->pop();
// Borde resultera i output:en Hej där.
Vill du inte poppa en array ( Alltså ta ut sista värdet först ) kan du använda array_shift() för att få ut det första värdet först. Notera dock att båda dessa funktioner tar bort det returnerade värdet från arrayen.
Grejen är en att jag gör en databas sökning och skappar en array av resultat. Resultat behöver jag ibland kontroller flera gåner på samma sida. Så då tänkte jag om jag skappar en array med allt innehåll. Då slipper jag belasta databaserven varje gång.
Notera att nyckelordet private endast finns iom PHP 4.3! Har du en lägre version av PHP får du använda nyckelordet var istället, men då är variablerna inte privata.