2017-08-24 172 views
0

香港专业教育学院研究这个,但我是来空白,林生成一组测试从数据库中,像这样:如何将多维数组拼成一个字符串?

$descriptions = array(); 
foreach ($tests as $value) { 
    array_push($descriptions, ['name' => $value['name']]); 
} 

我得到所需的放出来,但我得到一个数组的多维数组'[64]''$ descriptions'内的数组,我需要转换这个数组,所以我得到以下输出: 'name' => $value1, 'name' => $value2, etc etc所有结果, 我试过了implode,array_merge等,但最近我得到的是一个平面数组,只有我最后一次测试:[name] => Zika任何人都可以将我指向正确的方向吗?欢呼声

+0

你能提供一个'的var_dump()'或您的阵列的'的print_r()'? – ksjohn

+0

所以你需要最终的结果作为字符串或一维数组? – Justinas

回答

1

您不能有重复的数组键。但是你可以在像这样传递一个数组:

<?php 

$descriptions = array(); 
$tests = array(
    'Zika', 'SARS', 'AIDS', 'Mad Cow Disease', 'Bird Flu', 'Zombie Infection',  
); 

foreach ($tests as $value) { 
    $descriptions[] = array('name' => $value); 
} 

var_dump($descriptions); 

它给你:

array(6) { [0]=> array(1) { ["name"]=> string(4) "Zika" } [1]=> array(1) { ["name"]=> string(4) "SARS" } [2]=> array(1) { ["name"]=> string(4) "AIDS" } [3]=> array(1) { ["name"]=> string(15) "Mad Cow Disease" } [4]=> array(1) { ["name"]=> string(8) "Bird Flu" } [5]=> array(1) { ["name"]=> string(16) "Zombie Infection" } } 

所以,你可以foreach ($descriptions as $desc)echo $desc['name']';

看一看这里:https://3v4l.org/pWSC6

如果您只想要一个字符串,试试这个:

<?php 

$descriptions = ''; 
$tests = array(
    'Zika', 'SARS', 'AIDS', 'Mad Cow Disease', 'Bird Flu', 'Zombie Infection',  
); 

foreach ($tests as $value) { 
    $descriptions .= 'name => '.$value.', '; 
} 
$descriptions = substr($descriptions, 0, -2); // lose the last comma 
echo $descriptions; 

这将输出:

name => Zika, name => SARS, name => AIDS, name => Mad Cow Disease, name => Bird Flu, name => Zombie Infection 

见这里https://3v4l.org/OFGF4

+0

Thankyou,我的头被捣碎,所以通过重复键是问题,我与你的第二个选项作为最终结果是我需要一个字符串作为查询的一部分运行 – Sam

+0

很高兴我可以帮助! – delboy1978uk

相关问题