0

我想用 implode 在 String 中转换这个数组:

Array ( [0] => Array ( [technologies_id] => 1 [nom] => PHP [type_technologies_id] => 1 [nom_techno] => Developpement web ) [1] => Array ( [technologies_id] => 3 [nom] => ASP3 [type_technologies_id] => 1 [nom_techno] => Developpement web ) [2] => Array ( [technologies_id] => 5 [nom] => JavaScript [type_technologies_id] => 1 [nom_techno] => Developpement web ) [3] => Array ( [technologies_id] => 6 [nom] => CSS [type_technologies_id] => 1 [nom_techno] => Developpement web ) [4] => Array ( [technologies_id] => 7 [nom] => AJAX [type_technologies_id] => 1 [nom_techno] => Developpement web ) [5] => Array ( [technologies_id] => 17 [nom] => HTML [type_technologies_id] => 1 [nom_techno] => Developpement web ) ) Array ( [0] => Array ( [technologies_id] => 8 [nom] => Jquery [type_technologies_id] => 2 [nom_techno] => Frameworks web ) ) Array ( [0] => Array ( [technologies_id] => 22 [nom] => VB 6 [type_technologies_id] => 3 [nom_techno] => Developpement applicatif ) [1] => Array ( [technologies_id] => 23 [nom] => VB.NET [type_technologies_id] => 3 [nom_techno] => Developpement applicatif ) ) Array ( ) Array ( ) Array ( [0] => Array ( [technologies_id] => 28 [nom] => MySQL [type_technologies_id] => 6 [nom_techno] => SGDB(R) ) [1] => Array ( [technologies_id] => 30 [nom] => SQL Server Express [type_technologies_id] => 6 [nom_techno] => SGDB(R) ) [2] => Array ( [technologies_id] => 32 [nom] => SQLite [type_technologies_id] => 6 [nom_techno] => SGDB(R) ) [3] => Array ( [technologies_id] => 34 [nom] => Microsoft Access [type_technologies_id] => 6 [nom_techno] => SGDB(R) ) ) Array ( [0] => Array ( [technologies_id] => 39 [nom] => SQL [type_technologies_id] => 7 [nom_techno] => Langages d'interrogation de bases de donnees ) ) Array ( [0] => Array ( [technologies_id] => 46 [nom] => Windows [type_technologies_id] => 9 [nom_techno] => OS ) [1] => Array ( [technologies_id] => 49 [nom] => MAC OS [type_technologies_id] => 9 [nom_techno] => OS ) ) Array ( [0] => Array ( [technologies_id] => 54 [nom] => Merise [type_technologies_id] => 11 [nom_techno] => Methodologies ) ) 

我试过这样:

$string_comp = implode($competences);

但我得到了这个:

阵列阵列阵列阵列阵列

在此先感谢您的帮助

4

6 回答 6

4

试试这个自定义功能:)

function multi_implode($sep, $array)
{
    $_array = array();

    foreach($array as $val)
    {
        if(is_array($val)) $_array[] = multi_implode($sep, $val);
        else $_array[] = $val;
    }

    return implode($sep, $_array);
}

你的内爆不起作用,因为你有一个多阵列。

于 2013-11-01T10:27:09.960 回答
0

你有一个数组数组。您必须内爆每个子数组,如下所示:

foreach ($competences as $subArray)
{
    $string_comp .= implode($subArray);
}
于 2013-11-01T10:27:40.120 回答
0

像这样尝试->

$array = array(1,2,3,4);
echo serialize($array);

// Prints

a:4:{i:0;i:1;i:1;i:2;i:2;i:3;i:3;s:3:4;}
于 2013-11-01T10:28:36.380 回答
0

只需使用这个:

$res = '';
foreach ($arr as $item) {
    $res .= implode('', $item);
}
于 2013-11-01T10:29:00.430 回答
0

要以字符串格式获取输出,请使用php 的 serialize()函数,您也可以将unserialize()作为其先前状态。

于 2013-11-01T10:30:53.000 回答
0

取决于您希望如何访问它,但就个人而言,我只是将其转换为 JSON 格式json_encode($myvar);。或者看看 Stackoverflow 上提供的这个答案:Multidimensional Array PHP Implode

于 2013-11-01T10:35:09.690 回答