LogicLooking
LogicLooking

Reputation: 928

Convert a string to an array containing the original string

I have an array like such:

array('some_key' => 'some_value');

I would like to take that and transform it to, this should be done programatically

array('some_key' => array('some_value'));

This should be rather simple to do but the only think I can find is answers on string split and explode, to explode strings into arrays. I thought PHP, like other languages, had something called to_array or toArray.

I am assuming this is super easy to do?

Upvotes: 1

Views: 174

Answers (3)

You can try like this

<?php
$arr=array('some_key' => 'some_value');
foreach($arr as $k=>$v)
{
$newarr[$k] = array($v);
}

var_dump($newarr);

Upvotes: 0

h2ooooooo
h2ooooooo

Reputation: 39532

Something as simple as $value = array($value) should work:

foreach ($array as &$value) {
    $value = array($value);
}
unset($value); //Remove the reference to the array value

If you prefer to do it without references:

foreach ($array as $key => $value) {
    $array[$key] = array($value);
}

Upvotes: 0

jszobody
jszobody

Reputation: 28911

If you're just doing the one array element, it's as simple as:

$newarray['some_key'] = array($sourcearray['some_key']);

Otherwise if your source array will have multiple entries, you can do it in a loop:

foreach($sourcearray AS $key => $value) {
    $newarray[$key] = array($value);
}

Upvotes: 1

Related Questions