Ответы пользователя по тегу Массивы
  • Как исправить проблему с циклами foreach и массивом php?

    undefine
    @undefine
    Senior Software Engineer / PHP
    Для начала, ваш код бросает исключение «Invalid argument supplied for foreach()» когда вы пытаетесь пройтись по переменной $emails, которая строка.

    Далее, что будет, если в пароле встречается символ |?

    Далее, при добавлении в конец $textareaValue /n, код тоже валится — плохо.

    Вообще, вам следует больше уделить внимания вашему code-style, а также посмотреть в сторону xDebug.

    Рабочий код:
    $textareaValue = 'aaa@aaa|a|aa/nbbb@bbb|bbb/nggg@ggg|ggg/n';
    $explodedTextarea = explode('/n', $textareaValue);
    
    $result = array();
    foreach ($explodedTextarea as $line) {
    	list($email, $password) = array_pad(explode('|', $line, 2), 2, null);
    	
    	if ($email) { 
    		$result[$email] = $password;
    	}
    }
    
    print_r($result);
    Ответ написан
    3 комментария