2012-10-23 3 views
0

Я использую вызов API, который возвращает массив. Это массив, а не жало. Я хочу обернуть массив в неупорядоченный список. Мне нужны два отдельных списка.Wrap array и subarray's в неупорядоченном списке

1) Я хочу обернуть все (включая вспомогательные массивы) в неупорядоченный список.

<ul> 
    <li>[name]</li> 
    <li>[name]</li> 
    <li>[name]</li> 
</ul> 

2) Я просто хочу обернуть [имя] в неупорядоченный список.

<ul> 
    <li>[1347037874]</li> 
    <ul> 
     <li>[level_id]</li> 
     <li>[name]</li> 
     <li>[canceled]</li> 
     <li>[cancelDate]</li> 
     <li>and all the rest</li> 
    </ul> 
    <li>[1347037874]</li> 
    <ul> 
     <li>[level_id]</li> 
     <li>[name]</li> 
     <li>[canceled]</li> 
     <li>[cancelDate]</li> 
     <li>and all the rest</li> 
    </ul> 
</ul> 

поручаю вызов API вроде этого:

$member_id = $logged_in_WP_user_id; 
$member_levels = member_levels($member_id); 

Для объяснения только (эта линия не в моей функции ... когда я выходные $ member_levels, как это: htmlspecialchars(print_r(get_member($member_id),true)) я получаю следующее:

Array 
( 
    [1347037874] => stdClass Object 
     (
      [Level_ID] => 1347037874 
      [Name] => HFM-Cardiac Resistance Training Program 
      [Cancelled] => 
      [CancelDate] => 
      [Pending] => 
      [UnConfirmed] => 
      [Expired] => 
      [ExpiryDate] => 
      [Active] => 1 
      [Status] => Array 
       (
        [0] => Active 
       ) 

      [Timestamp] => 1349804951 
      [TxnID] => WL-2-1347037874 
     ) 

    [1347037875] => stdClass Object 
     (
      [Level_ID] => 1347037875 
      [Name] => HFM-Official Heart Health Guide 
      [Cancelled] => 
      [CancelDate] => 
      [Pending] => 
      [UnConfirmed] => 
      [Expired] => 
      [ExpiryDate] => 
      [Active] => 1 
      [Status] => Array 
       (
        [0] => Active 
       ) 

      [Timestamp] => 1349804951 
      [TxnID] => WL-2-1347037875 
     ) 
) 

Я попробовал несколько способов, чтобы обернуть массив в массив, то подобраться, но все еще может заставить его работать правильно.

Tks!

p.s. вот то, что я сейчас использую, чтобы сделать первый список, но как получить другие значения ключей для отображения, как в неупорядоченном списке под ключевым значением => Имя.

$member_levels = ember_levels($member_id); 

    $output = '';  
    $output .= '<ul>';        
    foreach($member_levels as $level) { 
    $output .= '<li>' . $level_array[]=$level->Name . '</li>'; 
    } 
    $output .= '</ul>'; 

    print_r($output); 
+1

Возможно, вы захотите дать пример вывода элемента списка. – inhan

+0

PHP не имеет неупорядоченных списков. Он имеет ассоциативные массивы и индексированные массивы (которые на самом деле являются лишь частным случаем ассоциативных массивов, где ключи являются последовательными целыми числами). – Barmar

ответ

1
foreach($member_levels as $level) 
{ 

    $level_array[]=$level->Level_ID; 
    $name_array[]=$level->Name; 
} 
+0

Это работает для моего первого списка. Я сделал; однако измените значение ключа на => Name, но как вы получите все другое значение ключа для отображения в виде неупорядоченного списка в разделе => Имя? Я добавил код в нижней части сообщения выше, как я использовал ваше предложение для вывода моего списка. – Jason

1

Если вы хотите, чтобы обернуть что-то в другом уровне массива, сделайте следующее:

$wrapped_thing = array($something); 

Если это не делать то, что вы хотите, то вы не описали это хорошо.

Смежные вопросы