Şu koda bir göz atın:
$GET = array();
$key = 'one=1';
$rule = explode('=', $key);
/* array_push($GET, $rule[0] => $rule[1]); */
Ben de böyle bir şey arıyorum:
print_r($GET);
/* output: $GET[one => 1, two => 2, ...] */
Bunu yapmak için bir fonksiyon var mı? (çünkü array_push
bu şekilde çalışmaz)
Aynen Pekka'nın dediği gibi.
Alternatif olarak, isterseniz muhtemelen array_merge'i bu şekilde kullanabilirsiniz:
array_merge($_GET, array($rule[0] => $rule[1]));
Ama ben Pekka'nın yöntemini tercih ederdim çünkü çok daha basit.
Ben de aynı şeyi arıyordum ve bir kez daha eski kafalı olduğum için düşüncelerimin farklı olduğunu fark ettim. BASIC ve PERL'e kadar geri gidiyorum ve bazen PHP'de işlerin gerçekten ne kadar kolay olduğunu unutuyorum.
Bu fonksiyonu veritabanından 3 sütunlu tüm ayarları almak için yaptım. setkey, item (anahtar) & value (değer) ve bunları yukarıdaki gibi push kullanmadan aynı anahtar / değeri kullanarak ayarlar adlı bir diziye yerleştirin.
Oldukça kolay & gerçekten basit
// Tüm Ayarları Al $settings=getGlobalSettings();
// Kullanıcı Tema Seçimini Uygula $theme_choice = $settings['theme'];
. vs. vs. vs. ....
function 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; }
Yani diğer yazılarda açıklandığı gibi... Php'de bir dizi kullanırken "PUSH" yapmanıza gerek yoktur
Anahtar => Değer
VE... Önce diziyi tanımlamaya da gerek yoktur.
$dizi=dizi();
Tanımlamaya ya da zorlamaya gerek yok. Sadece $array[$key] = $value atayın; Bu otomatik olarak bir itme ve aynı zamanda bir bildirimdir.
Şunu da eklemeliyim ki güvenlik nedeniyle (P)oor (H)elpless (P)rotection, yani Aptallar için Programlama, yani PHP.... hehehe Bu kavramı sadece amaçladığım şey için kullanmanızı öneririm. Başka herhangi bir yöntem güvenlik riski oluşturabilir. İşte, sorumluluk reddimi yaptım!