0

I would like to transform this array in String with implode :

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 ) ) 

I tried like this :

$string_comp = implode($competences);

but I obtained this :

ArrayArrayArrayArrayArrayArray

Thanks in advance for your help

David
  • 427
  • 1
  • 5
  • 21

6 Answers6

4

Try this custom function :)

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);
}

Your implode not working because you are have a multi-array.

KryDos
  • 447
  • 4
  • 14
  • When I call this function, what separator have I to send ? thank you – David Nov 01 '13 at 10:43
  • @beegees, what ever you want :) Put ' ' (space) for example or ',' (comma). $sep is this separator of the arrays. – KryDos Nov 01 '13 at 10:45
0

You have an array of arrays. You must implode each subarray, like this:

foreach ($competences as $subArray)
{
    $string_comp .= implode($subArray);
}
namikiri
  • 81
  • 1
  • 8
0

Try like this->

$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;}
Suresh Kamrushi
  • 15,627
  • 13
  • 75
  • 90
0

Just use this:

$res = '';
foreach ($arr as $item) {
    $res .= implode('', $item);
}
Akuma
  • 561
  • 1
  • 4
  • 16
0

To get output in a string formate use serialize() function of php you can unserialize() also as its previous state.

Praveen D
  • 2,337
  • 2
  • 31
  • 43
0

Depends on how you want to access it but personally, I'd just convert it to JSON with json_encode($myvar);. Or have a look at this answer provided on Stackoverflow: Multidimensional Array PHP Implode.

Community
  • 1
  • 1
classicjonesynz
  • 4,012
  • 5
  • 38
  • 78