За последние 24 часа нас посетили 22680 программистов и 1262 робота. Сейчас ищет 851 программист ...

Массивы.

Тема в разделе "PHP для новичков", создана пользователем deadlolman, 29 июл 2016.

Метки:
  1. deadlolman

    deadlolman Новичок

    С нами с:
    14 июн 2016
    Сообщения:
    23
    Симпатии:
    1
    Есть переменная
    PHP:
    1. $x = " '1' => 'moloko' , '2' => 'ne moloko'";
    Как сделать массив с данными из этой переменной?
    $y = array($x) <- плохо
    Какие еще есть варианты кроме как разобрать строку и формировать?
    Спасибо.
     
  2. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.230
    Симпатии:
    1.715
    Адрес:
    Молдова, г.Кишинёв
  3. deadlolman

    deadlolman Новичок

    С нами с:
    14 июн 2016
    Сообщения:
    23
    Симпатии:
    1
    Как это сделать?
    --- Добавлено ---
    Документацию я читал. Хорошо, перефразирую . как из переменной достать параметры в массив.
    С моего примера:
    PHP:
    1. $y = array('1' => 'moloko',
    2.                 '2' => 'nemoloko');
     
  4. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.230
    Симпатии:
    1.715
    Адрес:
    Молдова, г.Кишинёв
    Вот у тебя есть $y с массивом, какие ты данные хочешь достать и какой результат получить?
    foreach поможет перебрать массив, там ключи (1,2) можно получить и значение (moloko,nemoloko)
     
  5. deadlolman

    deadlolman Новичок

    С нами с:
    14 июн 2016
    Сообщения:
    23
    Симпатии:
    1
    Документацию я читал. Хорошо, перефразирую . как из переменной достать параметры в массив.
    С моего примера:
    PHP:
    1. $y = array("1" => 'moloko')
    --- Добавлено ---
    Мы не понимаем друг друга)
    PHP:
    1. $q = 'SELECT * FROM databasename';
    2. mysqli_query($link,$q);
    3. //
    4. $q = " '1' => 'moloko' , '2' => 'ne moloko'";
    5. // Вот переменную `q` подставить на подобии запроса)  и составить массив. Ну типо;
    6. $x = array($q); // Ну вот так. Хотя мне уже это не надо ибо я пытался найти ответы для своего старого вопроса. Тут все отвечают только на тривиальные вопросы к сожалению)
    https://php.ru/forum/threads/dobavlenie-v-massiv-v-glubinu.59365/#post-478918
     
  6. Schrodinger

    Schrodinger Новичок

    С нами с:
    8 июн 2016
    Сообщения:
    40
    Симпатии:
    5
    deadlolman нравится это.
  7. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.230
    Симпатии:
    1.715
    Адрес:
    Молдова, г.Кишинёв
    @deadlolman ты можешь просто написать код который покажет какие есть данные и какой результат? Если я запущу твой, то думаю он не покажет результата.
     
  8. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.410
    Симпатии:
    1.768
    @deadlolman
    ты путаешь массив и строку. То, что ты написал, это строка. Так с массивами не работают.
    --- Добавлено ---
    Если ты хочешь превратить массив в строку, то пользуйся сериализацией. Но в БД не пихают сериализованные данные, ибо тогда не будет смысла в БД - она не умеет с ними работать так, как хочется, ведь это просто строки.
     
  9. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.555
    Симпатии:
    1.754
    Иногда пихают, если нет необходимости искать внутри. Например, опции wordpress в таком виде часто хранятся. Поиск по значению внутри опции обычно не нужен, только по имени. А ещё MariaDB и последняя версия MySQL умеют с json-полями работать, вот это реально крутотень :)
     
    mahmuzar нравится это.
  10. Fart

    Fart Новичок

    С нами с:
    31 июл 2016
    Сообщения:
    7
    Симпатии:
    0
    1.
    PHP:
    1. $x=" '1' => 'moloko' , '2' => 'ne moloko'";
    2. $y = array($x)
    3. это и есть
    4. $y = array('1' => 'moloko' , '2' => 'ne moloko');
    2.
    PHP:
    1. $y = array('1' => 'moloko', '2' => 'nemoloko');
    2. $y[1] - это moloko
    3. $y[2] - это nemoloko
    3.
    PHP:
    1. $q = 'SELECT * FROM databasename';
    2. mysqli_query($link,$q);
    3. $arr = Array();
    4. while($a = mysqli_fetch_array($q))
    5. {
    6.     if(){// задаешь условие если нужна выборка
    7.     $arr[] =  $a; // создаеш массив если нужны строки
    8.     }
    9. }
    далее выполняешь все необходимые процедуры если хочешь работать с полученным массивом
    массивов также может быть больше при желании.
     
    #10 Fart, 31 июл 2016
    Последнее редактирование модератором: 31 июл 2016
  11. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.555
    Симпатии:
    1.754
    Ну не надо такой бред нести, а?
     
  12. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.410
    Симпатии:
    1.768
    Тихо, тихо, рано ещё, он же ребёнок.
    --- Добавлено ---
    я думаю он имеет в виду то, что ТС думает, что вот надо через строку, а по факту надо вот писать вот так, как мы все пишем. Подозреваю, что ТС просто невкурил какой-то пример и случайно решил, что там кавычки нужны.
     
  13. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.632
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    я даже оставлю ссылку :)
     
    mkramer, denis01 и igordata нравится это.
  14. pinokio

    pinokio Новичок

    С нами с:
    25 июл 2016
    Сообщения:
    160
    Симпатии:
    6
    @deadlolman если тебе нужно из строки собрать массив используй функцию

    PHP:
    пример :

    PHP:
    1. $arr = [];
    2. $x = " '1' => 'moloko' , '2' => 'ne moloko' , '3' => 'ne moloko' , '4' => 'ne moloko'";
    3. $d = explode(',', $x);
    4. foreach($d as $key => $value) {
    5.     $dd = explode('=>', $value);
    6.     $arr[$dd[0]] = $dd[1];
    7. }
    8. print_r($arr);
     
    deadlolman нравится это.
  15. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.410
    Симпатии:
    1.768
    Ты работал?
     
  16. deadlolman

    deadlolman Новичок

    С нами с:
    14 июн 2016
    Сообщения:
    23
    Симпатии:
    1
    Ребят, всем спасибо. Особенно Schrodinger, pinokio. За то что поняли мой вопрос. Как видите с постановкой проблемы дела у меня плохи) Спасибо.
     
  17. pinokio

    pinokio Новичок

    С нами с:
    25 июл 2016
    Сообщения:
    160
    Симпатии:
    6
    @deadlolman не стесняйся, обращайся)