Tell me more ×
Stack Overflow is a question and answer site for professional and enthusiast programmers. It's 100% free, no registration required.

I have an array that has multiple arrays inside. I am trying to change of the key which is ["517f467ca2ec9"] ["517f467ca310c"]... however assume that i don't know about the array key text, I am using the snippet below which gave me an error Undefined offset: 1

array(74) {
  [0]=>
  array(9) {
    ["517f467ca2ec9"]=>
    string(0) ""
    ["517f467ca310c"]=>
    string(0) ""
    ["517f467ca321a"]=>
    string(0) ""
    ["517f467ca3320"]=>
    string(0) ""
    ["517f467ca3427"]=>
    string(0) ""
    ["517f467ca352a"]=>
    string(0) ""
    ["517f467ca3666"]=>
    string(0) ""
    ["517f467ca378d"]=>
    string(0) ""
    ["517f467ca3897"]=>
    string(0) ""
  }
  [1]=>
  array(9) {
    ["517f467ca2ec9"]=>
    string(0) ""
    ["517f467ca310c"]=>
    string(0) ""
    ["517f467ca321a"]=>
    string(0) ""
    ["517f467ca3320"]=>
    string(0) ""
    ["517f467ca3427"]=>
    string(0) ""
    ["517f467ca352a"]=>
    string(0) ""
    ["517f467ca3666"]=>
    string(0) ""
    ["517f467ca378d"]=>
    string(0) ""
    ["517f467ca3897"]=>
    string(0) ""
  } 

php snippet

foreach ($rows as $k=>$v){
   $rows[$k] ['running_days'] = $rows[$k] [0];
   unset($rows[$k][0]);
}
share|improve this question
1  
And the question is? – zerkms Apr 30 at 4:32
how do i actually change the key in my case? – max li Apr 30 at 4:35
what does "change the key" mean? – zerkms Apr 30 at 4:37
I am trying to change of the key which is ["517f467ca2ec9"] ["517f467ca310c"]... – max li Apr 30 at 4:39
and what do you want to change them TO? – Tasos Bitsios Apr 30 at 4:41
show 1 more comment

3 Answers

Please try this code it will help you

function changeKey(&$data)
{
  foreach ($data as $key => $value)
  {
    // Convert key
    $newKey = 'any'; // new key goes here

    // Change key if needed
    if ($newKey != $key)
    {
      unset($data[$key]);
      $data[$newKey] = $value;
    }

    // Handle nested arrays
    if (is_array($value))
    {
      changeKey($data[$key]);
    }
  }
}

$test = array('foo' => 'bar', 'moreFoo' => array('more' => 'foo'));
changeKey($test);
print_r($test);
share|improve this answer

It seems you have multidimensional array. You can try this one...

// array container
$records = 'Your array with key here';

// init new array container
$myarray = array();

foreach ($records as $items) {
    foreach ($items as $k => $v) {
        $myarray[$k]['running_days'] = $v;
    }
}

printr_r($myarray);
share|improve this answer
$rows[$k]['running_days'] = array_shift($rows[$k]);
share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.