2015-02-13 4 views
-1

У меня есть вопрос с относительно массива PHP ..Как разобрать через массив в PHP

У меня есть массив, который имеет х значения суммы в конце массива ..

Например, массив будет бы

[1] => 'Hello' 
[2] => Value1, Value2, Value3 
[3] => Value1, Value2, Value3 
[4] => Value1, Value2, Value3 
[5] => 'Good Bye' 

или

[1] => 'Hello' 
[2] => Value1, Value2, Value3 
[3] => Value1, Value2, Value3 
[4] => Value1, Value2, Value3 
[5] => Value1, Value2, Value3 
[6] => Value1, Value2, Value3 
[7] => Value1, Value2, Value3 
[8] => 'Good Bye' 

или это может быть

[1] => 'Hello' 
[2] => Value1, Value2, Value3 
[3] => 'Good Bye' 

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

Как бы я это сделал?

Спасибо,

+0

Какой код вы пробовали до сих пор и где произошла ошибка или проблема? – mrunion

+0

Да, пожалуйста, покажите фрагменты кода, где мы можем легко вписаться в несколько утверждений, чтобы сделать это. Возможно, мы даже обнаруживаем, что вы извлекаете данные из запроса базы данных, и решаете, что его лучше реализовать в запросе. – Pieter21

+0

Является ли '[2] => Value1, Value2, Value3' массивом? Или строка разделена запятыми? – appl3r

ответ

0

Я не уверен, что вопрос точно, это [2] => Value1, Value2, Value3 массив или строку, где значения разделяются запятыми?

Кроме того, напечатав [2] перед последним, вы в основном просто печатаете их по порядку.

$array = array (
    1 => 'Hello', 
    2 => array('Value1', 'Value2', 'Value3'), 
    3 => array('Value1', 'Value2', 'Value3'), 
    4 => array('Value1', 'Value2', 'Value3'), 
    5 => 'Good Bye' 
); 

foreach ($array as $key => $value) { 
    if (is_array($value)===true) { 
     foreach ($value as $invalue) { 
      if (is_string($invalue)===true) { 
       echo $invalue.", "; 
      } else { 
       echo 'Error? Throw Exception or something'; 
      } 
     } 
     echo "<br />"; 
     // or explode by , if the Value is string 
    } elseif (is_string($value)===true) { 
     echo $value."<br />"; 
    } else { 
     echo 'Error? Throw Exception or something'; 
    } 
} 

Если вы хотите печатать их другим способом, сохранить вывод перед печатью, вы конкатенации текущую строку ввода результата и эхо его в конце концов.

$result = ""; 
foreach (..) { 
    $result .= $current; 
} 
echo $result; 
0

Ничего, я нашел свое решение. Я использовал функцию array_walk.

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