За последние 24 часа нас посетили 21926 программистов и 984 робота. Сейчас ищут 645 программистов ...

Как обработать с foreach?

Тема в разделе "PHP для новичков", создана пользователем Konstant1n, 20 апр 2018.

Метки:
  1. Konstant1n

    Konstant1n Активный пользователь

    С нами с:
    14 авг 2017
    Сообщения:
    273
    Симпатии:
    1
    Адрес:
    Волгоград
    Как это заменить с foreach?
    PHP:
    1. while ($finfo = $result->fetch_field()) {
    2.  
    3.     printf("Имя:         %s<br />", $finfo->orgname);
    4.     printf("макс. длина: %d<br />", $finfo->length);
    5.     printf("Флаги:       %d<br />", $finfo->flags);
    6.     printf("Тип:         %d<br /><br />", $finfo->type);
    7. }
    или как этот код записать через foreach?
    PHP:
    1. while ($finfo = mysqli_fetch_field($result)) {
    2.  
    3.         printf("Имя:         %s\n", $finfo->name);
    4.         printf("Таблица:     %s\n", $finfo->table);
    5.         printf("макс. длина: %d\n", $finfo->max_length);
    6.         printf("Флаги:       %d\n", $finfo->flags);
    7.         printf("Тип:         %d\n\n", $finfo->type);    }
     
    #1 Konstant1n, 20 апр 2018
    Последнее редактирование: 20 апр 2018
  2. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.632
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    PHP:
    1. foreach( $result->fetch_fields() as $finfo) {
    2.     printf("Имя:         %s<br />", $finfo->orgname);
    3.     printf("макс. длина: %d<br />", $finfo->length);
    4.     printf("Флаги:       %d<br />", $finfo->flags);
    5.     printf("Тип:         %d<br /><br />", $finfo->type);
    6. }
     
    TeslaFeo нравится это.
  3. Konstant1n

    Konstant1n Активный пользователь

    С нами с:
    14 авг 2017
    Сообщения:
    273
    Симпатии:
    1
    Адрес:
    Волгоград
    неа. ту либо $result->fetch_fields() по другому записать либо другое
     
  4. Sail

    Sail Старожил

    С нами с:
    1 ноя 2016
    Сообщения:
    1.591
    Симпатии:
    360
    @Konstant1n, foreach() работает с массивами.
     
  5. Konstant1n

    Konstant1n Активный пользователь

    С нами с:
    14 авг 2017
    Сообщения:
    273
    Симпатии:
    1
    Адрес:
    Волгоград
    а вот этого тогда как?
    PHP:
    1. while ($finfo = mysqli_fetch_field($result)) {
    2.  
    3.         printf("Имя:         %s\n", $finfo->name);
    4.         printf("Таблица:     %s\n", $finfo->table);
    5.         printf("макс. длина: %d\n", $finfo->max_length);
    6.         printf("Флаги:       %d\n", $finfo->flags);
    7.         printf("Тип:         %d\n\n", $finfo->type);    }
     
  6. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.632
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    @Konstant1n, если ты получаешь за итерацию одну запись тут не годится foreach. Лучше всего подходить while.

    Тут разница то какая?
    PHP:
    1. foreach(mysqli_fetch_fields($result) as $finfo) {
    2.         printf("Имя:         %s\n", $finfo->name);
    3.         printf("Таблица:     %s\n", $finfo->table);
    4.         printf("макс. длина: %d\n", $finfo->max_length);
    5.         printf("Флаги:       %d\n", $finfo->flags);
    6.         printf("Тип:         %d\n\n", $finfo->type);
    7. }
     
  7. TeslaFeo

    TeslaFeo Старожил

    С нами с:
    9 мар 2016
    Сообщения:
    2.989
    Симпатии:
    759
  8. Sail

    Sail Старожил

    С нами с:
    1 ноя 2016
    Сообщения:
    1.591
    Симпатии:
    360
    @Konstant1n, было-б хорошо, если-б было указано, что используется именно mysqli :)
    Так-что, резюмируя предыдущие сообщения: смотрите пример 1 в описании mysqli_result::fetch_fields
    Вероятно, Вы просто не обратили внимание на завершающий символ 's' в сообщении #2 :)