看看这段代码:
$GET = array();
$key = 'one=1';
$rule = explode('=', $key);
/* array_push($GET, $rule[0] => $rule[1]); */
我正在寻找这样的东西:
print_r($GET);
/* output: $GET[one => 1, two => 2, ...] */
有函数来做这个吗?(因为array_push不能这样工作)
看看这段代码:
$GET = array();
$key = 'one=1';
$rule = explode('=', $key);
/* array_push($GET, $rule[0] => $rule[1]); */
我正在寻找这样的东西:
print_r($GET);
/* output: $GET[one => 1, two => 2, ...] */
有函数来做这个吗?(因为array_push不能这样工作)
当前回答
我只是在寻找同样的东西,然后我又一次意识到,我的想法是不同的,因为我是守旧派。我一直在用BASIC和PERL,有时我忘记了PHP有多简单。
我刚刚做了这个函数,以采取所有设置从数据库,其中他们是3列。Setkey, item (key) & value (value),并将它们放入一个名为Settings的数组中,使用相同的键/值,而不像上面那样使用push。
真的很简单
// Get All Settings $settings=getGlobalSettings(); // Apply User Theme Choice $theme_choice = $settings['theme']; .. etc etc etc .... 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; }
所以就像其他帖子解释的那样……在php中,当你使用数组时,不需要“PUSH”数组
Key =>值
和…也不需要先定义数组。
$array=数组();
不需要定义或强迫。赋值$array[$key] = $value;它自动同时是一个推送和一个声明。
我必须补充一点,出于安全原因,(P)oor (H)elpless (P)保护,我的意思是为傻瓜编程,我的意思是PHP....呵呵,我建议你只用这个概念来表达我的意图。任何其他方法都可能存在安全风险。在那里,我做了免责声明!
其他回答
不,关联数组没有等价的array_push(),因为没有办法确定下一个键。
你必须使用
$arrayname[indexname] = $value;
用于添加到第一个位置的键和值
$newAarray = [newIndexname => newIndexValue] ;
$yourArray = $newAarray + $yourArray ;
佩卡就是这么说的…
或者,你也可以像这样使用array_merge:
array_merge($_GET, array($rule[0] => $rule[1]));
但我更喜欢Pekka的方法,因为它更简单。
我想知道为什么最简单的方法还没有公布:
$arr = ['company' => 'Apple', 'product' => 'iPhone'];
$arr += ['version' => 8];
我只是在寻找同样的东西,然后我又一次意识到,我的想法是不同的,因为我是守旧派。我一直在用BASIC和PERL,有时我忘记了PHP有多简单。
我刚刚做了这个函数,以采取所有设置从数据库,其中他们是3列。Setkey, item (key) & value (value),并将它们放入一个名为Settings的数组中,使用相同的键/值,而不像上面那样使用push。
真的很简单
// Get All Settings $settings=getGlobalSettings(); // Apply User Theme Choice $theme_choice = $settings['theme']; .. etc etc etc .... 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; }
所以就像其他帖子解释的那样……在php中,当你使用数组时,不需要“PUSH”数组
Key =>值
和…也不需要先定义数组。
$array=数组();
不需要定义或强迫。赋值$array[$key] = $value;它自动同时是一个推送和一个声明。
我必须补充一点,出于安全原因,(P)oor (H)elpless (P)保护,我的意思是为傻瓜编程,我的意思是PHP....呵呵,我建议你只用这个概念来表达我的意图。任何其他方法都可能存在安全风险。在那里,我做了免责声明!