2011-08-23 19 views
0

如何添加一个静态值作为第一个元素或我的数组的开始形成一个阵列的开始?数组的数据来自我的数据库。staitc值添加到由读取结果从MySQL

下面我想在前面加上“选择风格”,而不是它只是梳理我的第一个元素。

$query = "SELECT DISTINCT name FROM ImageInfo"; 

$db = new connection(); 

$result = $db->query($query); 


while($info = mysql_fetch_array($result)){ 
    $content[] = $info; 
} 
$result=array(); 

$count = count($content); 

$result[0][] = "Select Style"; 

for ($x=0;$x<$count;++$x) 
{ 
    $result[$x][] = $content[$x]['name']; 
} 

echo json_encode($result); 

回答

1

@Denoteone,下面应该做的伎俩,

$result[0][] = "Select Style"; 
for ($x=0;$x<$count;++$x) 
{ 
    $result[][] = $content[$x]['name']; 
} 
+0

由于这是我将使用什么1 – Denoteone

0

使用

array_unshift

可以解决问题

<?php 
    $queue = array("orange", "banana"); 
    array_unshift($queue, "apple", "raspberry"); 
    print_r($queue); 
?> 
此代码后

中,$队列阵列变得

Array 
(
    [0] => apple 
    [1] => raspberry 
    [2] => orange 
    [3] => banana 
) 

http://php.net/manual/en/function.array-unshift.php

2

您的问题似乎是以下行

$结果[0] [] =“选择样式“;

$结果[$ X] [] = $内容[$ X] [ '名称'];

您在阵列中的“选择样式”设定的第一个值,然后在for循环中你有$ X == 0所以它是压倒你把

你的价值的第一次迭代可以改变

$result[$x][] = $content[$x]['name']; 

$result[][] = $content[$x]['name']; 

另外,您可以删除以下行:

$result[0][] = "Select Style"; 

及后您的for循环将直接如下:

array_unshift($result, "Select Style"); 
+0

完美我将使用第一实例的第二把它外面的阵列,当我编码它作为JSON +1 – Denoteone

0

更改此

$result=array(); 

这个

$result=array('Select Style'); 

而且,顺便说一句,你的代码可以使用小改造

$query = "SELECT DISTINCT name FROM ImageInfo"; 
$db = new connection(); 
$result = $db->query($query); 
$content = array('Select Style'); 
while($row = mysql_fetch_array($result)){ 
    $content[] = $row['name']; 
} 
echo json_encode($content);