Kijk eens naar deze code:
$GET = array();
$key = 'one=1';
$rule = explode('=', $key);
/* array_push($GET, $rule[0] => $rule[1]); */
Ik'ben op zoek naar iets als dit, zodat:
print_r($GET);
/* output: $GET[one => 1, two => 2, ...] */
Is er een functie om dit te doen? (want array_push
zal op deze manier niet werken)
Precies wat Pekka zei...
Als alternatief kun je waarschijnlijk array_merge op deze manier gebruiken als je dat zou willen:
array_merge($_GET, array($rule[0] => $rule[1]));
Maar ik'zou waarschijnlijk de voorkeur geven aan Pekka's methode omdat die veel eenvoudiger is.
Ik was net op zoek naar hetzelfde en ik realiseerde me dat, nogmaals, mijn denkwijze anders is omdat ik van de oude stempel ben. Ik ga helemaal terug naar BASIC en PERL en soms vergeet ik hoe eenvoudig dingen eigenlijk zijn in PHP.
Ik heb deze functie gemaakt om alle instellingen uit de database te halen met 3 kolommen. setkey, item (key) & value (value) en ze in een array genaamd settings te plaatsen met dezelfde key/value zonder push te gebruiken net zoals hierboven.
Vrij gemakkelijk & eenvoudig echt
// Alle instellingen ophalen $settings=getGlobalSettings();
// Gebruiker thema keuze toepassen $thema_keuze = $settings['theme'];
.. etc etc ....
functie getGlobalSettings(){
$dbc = mysqli_connect(wds_db_host, wds_db_user, wds_db_pass) or die("MySQL Error: " . mysqli_error()); mysqli_select_db($dbc, wds_db_name) or die("MySQL Error: " . mysqli_error()); $MySQL = "SELECT * FROM systemSettings"; $result = mysqli_query($dbc, $MySQL); while($row = mysqli_fetch_array($result)) { $settings[$row['item']] = $row['value']; // NO NEED FOR PUSH } mysqli_close($dbc);
return $settings; }
Dus zoals de andere berichten uitleggen... In php is er geen noodzaak om "PUSH" een array wanneer u gebruik maakt van
Key => Value
EN... Het is ook niet nodig om de array eerst te definiëren.
$array=array();
Hoef je niet te definiëren of te pushen. Gewoon toewijzen $array[$key] = $value; Het is automatisch een push en een declaratie tegelijk.
Ik moet toevoegen dat om veiligheidsredenen, (P)oor (H)elpless (P)rotection, ik bedoel Programmeren voor Dummies, ik bedoel PHP.... hehehe ik stel voor dat je dit concept alleen gebruikt voor wat ik bedoelde. Elke andere methode kan een veiligheidsrisico zijn. Zo, mijn disclaimer is gemaakt!