Присвоить определенным данным данные из массива

Тема в разделе "PHP", создана пользователем flat73, 17 мар 2011.

Модераторы: latteo
  1. flat73

    flat73 Постоялец

    Регистр.:
    15 авг 2008
    Сообщения:
    56
    Симпатии:
    2
    имеется вот такой вот массив:
    PHP:
    Array
    (
        [
    0] => Array
            (
                [
    0] => Бесплатная Помощь Юристов Онлайн
                
    [1] => 306.jpg
            
    )
        [
    1] => Array
            (
                [
    0] => Право собственности в порядке наследования
                
    [1] => 307.jpg
            
    )
        [
    2] => Array
            (
                [
    0] => Консультация юриста по телефону
                
    [1] => 308.jpg
            
    )
    )
    $xlsData - здесь находиться этот масив.
    Я напишу как хочу сделать:
    Действия:
    1. Выдернуть первую строчку из масива ([0] => Array([0] => Бесплатная Помощь Юристов Онлайн [1] => 306.jpg))
    2. присвоить $info=Бесплатная Помощь Юристов Онлайн; $img=306.jpg;
    3. Здесь идет какое то действие над переменными
    4. Возвращаемсяв пункт 1. и начинаем делать заного все действия пока в массиве не переберем все строчки.
    Как реализовать выше написаное?
     
  2. krobol

    krobol

    Регистр.:
    6 июн 2008
    Сообщения:
    455
    Симпатии:
    126
    PHP:
    foreach($xlsData as $data) {
      
    $info $data[0];
      
    $img $data[1];
      
    // выполняем действия над переменными
      
    echo $info.' -> '.$img;
    }
     
  3. flat73

    flat73 Постоялец

    Регистр.:
    15 авг 2008
    Сообщения:
    56
    Симпатии:
    2
    а когда действие будет сделано оно вернется обратно чтобы начать действие над другой строчкой масива?
    я думаю здесь через for надо делать

    for ($i=0; $i< count($xlsData[0]); $i++) {}
     
  4. a_n_d_y

    a_n_d_y

    Регистр.:
    26 мар 2006
    Сообщения:
    465
    Симпатии:
    61
    Уморил :D:D:D
     
  5. flat73

    flat73 Постоялец

    Регистр.:
    15 авг 2008
    Сообщения:
    56
    Симпатии:
    2
    тупонул немного, я раньше не занимался php не когда вот только сейчас начал когда это потребовалось.
     
  6. a_n_d_y

    a_n_d_y

    Регистр.:
    26 мар 2006
    Сообщения:
    465
    Симпатии:
    61
    И добавлю небольшое замечание. Не стоит вводить переменные $info и $img работай сразу с элементами массива в цикле, в примере это $data[0] и $data[1]
     
  7. krobol

    krobol

    Регистр.:
    6 июн 2008
    Сообщения:
    455
    Симпатии:
    126
    чтобы изменять значения массива, можно сделать так:

    PHP:
    foreach($xlsData as $key => $data) {
      
    $info $data[0];
      
    $img $data[1];
      
    // выполняем действия над переменными
      
    echo $info.' -> '.$img;
      
    // меняем значения в массиве
      
    $xlsData[$key] = array($info$img);
    }
     
  8. a_n_d_y

    a_n_d_y

    Регистр.:
    26 мар 2006
    Сообщения:
    465
    Симпатии:
    61
    А что именно ты меняешь последней строкой?:D
     
  9. krobol

    krobol

    Регистр.:
    6 июн 2008
    Сообщения:
    455
    Симпатии:
    126
    Последняя строка меняет текущее значение массива. То, которое идёт в текущем цикле foreach, значение с номером $key.
    А так как значения представляют собой массивы из двух элементов, то их и присваиваем, только уже обработанные (изменённые)
    PHP:
    $xlsData[0] = array('Бесплатная Помощь Юристов Онлайн''306.jpg');
    $xlsData[1] = array('Право собственности в порядке наследования''307.jpg');
    и так далее.

    Или ты, a_n_d_y, чисто поржать зашёл?
     
  10. a_n_d_y

    a_n_d_y

    Регистр.:
    26 мар 2006
    Сообщения:
    465
    Симпатии:
    61
    Поржать тоже можно :)
    А вообще вы переписываете функцию array_walk_recursive ;)