[Решено] php - Не читает массив, хоть тресни

Аватар пользователя sanita sanita 15 июля 2013 в 17:40

Товарищи, прошу помощи - два дня (буквально!) не могу понять куда копать и почему так получается.
Абсолютно лузерская ситуация Sad

Есть код:

  $massivoriginal = "'раз, два три'"; // оригинальный массив
  $massiv = str_replace(",", "', '", $massivoriginal); // заключаем все слова в кавычки
  $escap = array($massiv); // готовый массив

  foreach($escap as $esc)
{
  //  делаем всякое
}

Проще - некуда!

Так вот,
echo $massiv выдает 'раз','два','три' //то, что надо
но, в связке array($massiv) упорно читает

Array (
[0] => 'раз','два','три'
)
, а не
Array (
[0] => раз
[1] => два
[2] => три
)
т.е. $esc[0] = "'раз','два','три'" ///буквально, со всеми единичными кавычками
а должно быть $esc[0] = 'раз'

Каким бы ни было значение $massiv, даже частью кода, оно воспринимается как одно целое, не читаются мои разделители '', '', '',... Если вместо $massiv просто написать 'раз','два','три', то все работает как надо. Т.е., не могу впихнуть то, что надо во внутрь Array().

Прошу, не отправляйте меня к мануалам php Array() - за два дня я их прочитала до дыр на всех мне доступных языках. Ткните, пожалуйста, если знаете, куда копать. Или, может, я хочу впихнуть невпихиваемое?

Комментарии

Аватар пользователя sanita sanita 15 июля 2013 в 17:50

Вот! Я и вижу, что читает как стринг. А как заставить, чтобы не читал? Все, что знала и перепробывала - не помагает. Что-нибудь посоветуете?

Аватар пользователя sanita sanita 15 июля 2013 в 19:52

drupby wrote:
а я всегда думал,чтобы из строки сделать массив нужна функция explode

Правильно думали, как оказалось Smile

После двух дней личных мучений и десяти (!) минут консультаций на этом форуме - вот готовый работающий результат:

  $massivoriginal = 'раз, два, три'; // оригинальный массив
  $escap = explode(',', $massivoriginal); // готовый массив
 
  foreach($escap as $esc)
{
  //  делаем всякое
}

Всем огромное спасибо!

P.S. Я - идиот.

Аватар пользователя pazitiff pazitiff 15 июля 2013 в 17:57

у тебя исходный массив с одним ключем и значением, а потом ты ищешь в нем запятые и дописываешь кавычки... Это какая то фигня... можно узнать какая стоит задача?

Вот попробуй так, если это возможно:

$massiv = array('раз', 'два', 'три'); // оригинальный массив

print_r($massiv);

Аватар пользователя q2_faith q2_faith 15 июля 2013 в 19:07
<?php
$massivoriginal 
'раз, два, три'// оригинальный массив
?>

запятую забыли после "два". Это предвосхищая ваш следующий вопрос)

Аватар пользователя sanita sanita 15 июля 2013 в 19:51

q2_faith wrote:

<?php
$massivoriginal 
'раз, два, три'// оригинальный массив
?>

запятую забыли после "два". Это предвосхищая ваш следующий вопрос)


Спасибо, что заметили Smile Конечно же есть запетая. Уже все везьде есть Smile