ФорумПрограммированиеPHP для идиотов → Работа смассивами

Работа смассивами

  • Nox

    Сообщения: 204 Репутация: N Группа: Кто попало

    Spritz 16 сентября 2010 г. 11:01

    Ест массив в котором 150 записей key=>value как из него вынуть к примеру 130 запись?
  • Hight

    Сообщения: ? Репутация: N Группа: Адекваты

    Spritz 16 сентября 2010 г. 11:04, спустя 3 минуты 13 секунд

    Обойди и выдерни.
  • Nox

    Сообщения: 204 Репутация: N Группа: Кто попало

    Spritz 16 сентября 2010 г. 11:27, спустя 23 минуты 18 секунд

    элегантней нет решения?
    Массив такой

    Array ( [0] => 1 [id] => 1 [1] => 1 [country_id] => 1 [2] => Маленькая ферма [name] => Маленькая ферма [3] => image1 [map_loc] => image1 [4] => {$ferms_path}/f1.png [face_path] => {$ferms_path}/f1.png ) Array ( [0] => 2 [id] => 2 [1] => 1 [country_id] => 1 [2] => Маленькая ферма [name] => Маленькая ферма [3] => image2 [map_loc] => image2 [4] => {$ferms_path}/f1.png [face_path] => {$ferms_path}/f1.png ) Array ( [0] => 3 [id] => 3 [1] => 1 [country_id] => 1 [2] => Маленькая ферма [name] => Маленькая ферма [3] => image3 [map_loc] => image3 [4] => {$ferms_path}/f1.png [face_path] => {$ferms_path}/f1.png )

    как на счет функции array_slice ? Как ее тут применить?
    {+++158+++} и я не пойму, почуму у меня такая ернда [2] => Маленькая ферма [name] => Маленькая ферма массив создаю так
    $build = mysql_fetch_array($sql)


    $sql = результат запроса к базе
  • Hight

    Сообщения: ? Репутация: N Группа: Адекваты

    Spritz 16 сентября 2010 г. 11:33, спустя 5 минут 21 секунду

    array_rand посмотри

    $array = array_slice($input_array, 0, 130); {+++125+++}
    $sql = результат запроса к базе

    Может как-то так надо:
    while($row = $DB->fetch_assoc($result)) $user_profiles[$row['name']] = $row['value'];
  • krasun

    Сообщения: ? Репутация: N Группа: Джедаи

    Spritz 16 сентября 2010 г. 11:44, спустя 11 минут 7 секунд

    а чем не устраивает $ar[130] ?
  • Hight

    Сообщения: ? Репутация: N Группа: Адекваты

    Spritz 16 сентября 2010 г. 11:45, спустя 1 минуту 16 секунд

    вынуть к примеру 130 запись?

    Я тормознул. Прочитал как - вынуть 130 записей.
  • }/{EHR

    Сообщения: ? Репутация: N Группа: Адекваты

    Spritz 16 сентября 2010 г. 11:48, спустя 2 минуты 47 секунд


    а чем не устраивает $ar[130] ?
    По тому что это может быть не 130 элемент, а 1300 например )
  • Nox

    Сообщения: 204 Репутация: N Группа: Кто попало

    Spritz 16 сентября 2010 г. 11:51, спустя 2 минуты 30 секунд

    krasun,тем более нет такого ключа…

    щас мозг згорит… еще проблема в том, что это в цикле выполняется.




    sql = mysql_query("SELECT * FROM building_map WHERE country_id=1");
    while($build = mysql_fetch_array($sql)) {
       
       //$m = array_slice($build,2);
       //print_r(array_slice($m,0,3));
       //print_r($build);
       //echo $build['3']."|";
       
       $new[] = $build;
       
       
    }

    print_r($new);




    теперь в $new хранится охренительный многомерный массив… так как всего у меня 141 запись в базе
  • Nox

    Сообщения: 204 Репутация: N Группа: Кто попало

    Spritz 16 сентября 2010 г. 11:56, спустя 5 минут 29 секунд

    я нашел решение

    echo "<strong>".$new[0][3]."</strong>";
    echo "<strong>".$new[0][3]."</strong>";
    echo "<strong>".$new[140][3]."</strong>";


    image1,image1,image141,
  • adw0rd

    Сообщения: 22902 Репутация: N Группа: в ухо

    Spritz 16 сентября 2010 г. 12:06, спустя 10 минут 30 секунд

    используйте mysql_fetch_assoc если надо именованные аргументы или mysql_fetch_row если нужны числовые, а не mysql_fetch_array
    adw/0
  • Абырвалг

    Сообщения: 6477 Репутация: N Группа: Джедаи

    Spritz 16 сентября 2010 г. 12:08, спустя 1 минуту 22 секунды

    а еще лучше - используйте Doctrine2 DBAL PDO или MySQLi а не эту устаревшую хуевину
  • Nox

    Сообщения: 204 Репутация: N Группа: Кто попало

    Spritz 16 сентября 2010 г. 12:26, спустя 18 минут 21 секунду

    а как такую же хреновину
     $new[140][3]
    в smarty замутить?
  • technobulka

    Сообщения: 4552 Репутация: N Группа: Джедаи

    Spritz 16 сентября 2010 г. 12:29, спустя 2 минуты 57 секунд

    точно так же))
    Высокоуровневое абстрактное говно
  • Абырвалг

    Сообщения: 6477 Репутация: N Группа: Джедаи

    Spritz 16 сентября 2010 г. 12:35, спустя 5 минут 57 секунд

    зачем тебе именно 140-ый элемент? Обычно делают цикл и выводят все
  • Nox

    Сообщения: 204 Репутация: N Группа: Кто попало

    Spritz 16 сентября 2010 г. 12:39, спустя 4 минуты 20 секунд


    зачем тебе именно 140-ый элемент? Обычно делают цикл и выводят все
    нет, мне нужно по отдельности элементы. Но я зараннее знаю какие.
    Stasovsky точно так же не работает, проверил))

Пожалуйста, авторизуйтесь, чтобы написать комментарий!