PHP:更改阵列结构

PHP:更改阵列结构

问题描述:

我有个组阵列这样的从选择数据库,其中表中的[0]为ID,[1]是项目,和[2]是类型:PHP:更改阵列结构

Array 
(
    [0] => LO001 
    [1] => Fork 
    [2] => A 
) 
Array 
(
    [0] => LO002 
    [1] => Spoon 
    [2] => B 
) 

但我希望它是这样的:

Array 
(
    [0] => Array 
     (
      [0] => LO001 
      [1] => Fork 
      [2] => A 
     ) 
    [1] => Array 
     (
      [0] => LO002 
      [1] => Spoon 
      [2] => B 
     ) 
) 

*编辑,代码从数据库中选择数据,$选择的是一组从复选框形式的结果数组。 :

$query = "SELECT ID, name, type FROM location WHERE loc_id = '$selected'"; 
    $sqlcb = mysql_query($query); 
    $ccb = array(); 
    while($ccb= mysql_fetch_array($sqlcb)) { 
     print_r($ccb); 
} 

$选定阵列结构示例(该阵列可以基于从复选框形式的用户输入是变化

Array 
(
    [0] => LO001 
    [1] => LO002 
) 
+0

$ new_array =“”; foreach($ your_array as $ ar){$ new_array [] = $ ar;} print_r($ new_array); – Poria

+0

向我们展示从数据库中获取数组的代码。否则,这个问题是不明确的。有数百万种方法来构建这种类型的数组。 –

+0

PHP代码在哪里? –

使用一些东西一样:

while($ccb= mysql_fetch_array($sqlcb)) { 
    $finalArray[] = $ccb; 
} 
print_r($finalArray); 

请注意mysql_*现已弃用的PHP7因为安全问题。建议您切换到mysqli_*PDO扩展名。

+0

它的工作原理,但它似乎新的问题是这样的:'阵列 ( [0] => LO001 [1] =>叉 [2] =>甲 )阵列 ( [0] =>数组 ( [0] => LO001 [1] =>叉 [2] =>甲 ) [1] =>数组 ( [0] => LO002 [1] =>勺 [2 ] => B ) )' – lacyeex

+0

我无法测试您的代码,但您可以尝试删除'$ finalArray = array();' –

+0

好。感谢您回复我的问题:) – lacyeex

可以创建新的数组等:

$arr1 = array('LO001','Fork','A'); 
$arr2 = array('LO002','Spoon','B'); 

$newArr = array(); 
$newArr[] = $arr1; 
$newArr[] = $arr2; 

输出:

Array 
(
    [0] => Array 
     (
      [0] => LO001 
      [1] => Fork 
      [2] => A 
     ) 

    [1] => Array 
     (
      [0] => LO002 
      [1] => Spoon 
      [2] => B 
     ) 

) 
+1

你已经获得了相同的数组。没有任何变化 – RomanPerekhrest

+0

@RomanPerekhrest不符合上面的代码。 –

+0

他无法通过从数据库获取数据来构造数组。我认为他能够复制'print_r'的输出。 –