我认为这是一个奇怪的请求,但我真的无法弄清楚如何做到这一点:((
我有一个这样的数组:
$oldArray = array([0]=>'str1', [1]=>'str2', [2]=>'str3'...);
[edit:] $oldArray = explode(',',$_POST['something']); // a string from an ajax call
但是我想对此进行“重新调整”(对不起,不是非常技术性的术语):
$newArray = array('str1' => array(), 'str2'=>array(), 'str3'=>array() ... );
[edit:] What I'm actually trying to do is
$_SESSION['bish']['bash'][$newArrayKEY]['bosh'] = somethingElse;
我真的希望这是足够的信息,让你们帮助我
非常感谢 宝石
答案 0 :(得分:6)
$newArray = array_combine(
$oldArray,
$oldArray
);
会做你所要求的,但我不确定你是否了解数组键
所有数组都有一个键:默认是一个简单的枚举键,这是原始数组中的键
有效地你要求创建
$newArray = array('str1' => 'str1', 'str2' => 'str2', 'str3' => 'str3' ... );
修改强>
通过编辑问题:
$newArray = array_fill_keys(
$oldArray,
array()
);
虽然我对你想用$ _SESSION
实现的目标感到困惑答案 1 :(得分:1)
$newArray = new array();
foreach($oldArray as $key = $value){
$newArray[] = $value;
}
答案 2 :(得分:0)
尝试
$newArray = array_values($oldArray);
答案 3 :(得分:0)
我不完全明白你想做什么。 $ oldArray和$ newArray之间没有任何真正的区别。这只是显示同一阵列的两种方式。 str1,str2,str3是数组的值。
如果您试图说要将值移动到数组的“键”,请查看标记答案,如果没有,请尝试解释一下。
答案 4 :(得分:0)
array_values($array)
是您正在寻找的功能吗?
答案 5 :(得分:0)
array(0 => 'str1', 1 => 'str2', ..);
与array('str1', 'str2', ..);
但是这个array([0]=>'str1', [1]=>'str2', [2]=>'str3'...);
无效的数组。
答案 6 :(得分:0)
尝试这个简单的数组函数
$oldArray = array([0]=>'str1', [1]=>'str2', [2]=>'str3'...);
$array_values = array_values($oldArray);`