2014-07-18 64 views
0

我已存储在WordPress选项表下面的数组,我需要得到每个标题的值返回PHP的多维数组在WordPress

a:1:{s:14:"swd_line_items";a:3:{i:0;a:1:{s:5:"title";s:9:"asdfasdfa";}i:1;a:1:{s:5:"title";s:13:"asdf asdf ada";}i:2;a:1:{s:5:"title";s:29:"fffffffffffffffffffffffffffff";}}} 

我已经试过嵌套的foreach循环,但没有我这样做似乎工作。必须有一个简单的解决方案?

function swd_get_line_items() { 

$line_items = get_option('line_items_array'); 

$items = array(); 
foreach($line_items as $item => $value) { 

    foreach ($value as $new => $v) { 

     $items[] = array(
      $new => $v 
     ); 
    } 

} 

return $line_items; 

} 

回答

0

希望这有助于:)

$array = unserialize('a:1:{s:14:"swd_line_items";a:3:{i:0;a:1:{s:5:"title";s:9:"asdfasdfa";}i:1;a:1:{s:5:"title";s:13:"asdf asdf ada";}i:2;a:1:{s:5:"title";s:29:"fffffffffffffffffffffffffffff";}}}'); 

foreach($array['swd_line_items'] as $item) { 
    echo $item['title']; 
} 
-1

你的意思呢?所以没有必要做它为其他两个答案建议它

function swd_get_line_items($serialized_array) 
{ 
    $line_items = unserialize($serialized_array); 

    $items = array(); 

    foreach ($line_items['swd_line_items'] as $key => $item) 
    { 
     $items[$key] = $item['title']; 
    } 

    return $items; 
} 
-1

get_option()完美unsezrializes的数组。 然后你有什么是一个二维数组,但你完全用两个嵌套的foreach浏览它。 这里的方式是你的代码的最终输出: 正如你可以看到你完美地提取标题:

Array 
(
    [0] => Array 
     (
      [0] => Array 
       (
        [title] => asdfasdfa 
       ) 

     ) 

    [1] => Array 
     (
      [1] => Array 
       (
        [title] => asdf asdf ada 
       ) 

     ) 

    [2] => Array 
     (
      [2] => Array 
       (
        [title] => fffffffffffffffffffffffffffff 
       ) 

     ) 

) 

但这里的问题是,你不回这个数组,但你回到这一个:

return $line_items; 

它变成

return $items; 
+0

为什么downvote如果该方法是正确的?:) – vortex