powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / PHP: Вопрос по сортировке и фильтрации массивов
8 сообщений из 8, страница 1 из 1
PHP: Вопрос по сортировке и фильтрации массивов
    #38404459
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть у меня такой фрагмент шаблона:
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
<table>
<? foreach($data['session'] as $field => $value): ?>
	<tr>
		<th><?= $field ?></th>
		<td><?= $value ?></td>
	</tr>
<? endforeach; ?>
</table>


Он выводит содержимое полей сессии. Но мне нужно отфильтровать список полей и вместо их имен использовать альясы (наименования на русском языке).
В Perl я бы сделал так:
Код: php
1.
2.
3.
4.
@filter = qw(fld1 fld2 ... fldN);
%title = (fld1=>'Поле1', fld2=>'Поле2', ...);
foreach my $item ( sort {$title{$a} <=> $title{$b}} grep {$_ ~~ @filter} keys %{$data->{'session'}})
...



Возможен ли такой же подход на PHP?
Или подготавливать данные нужно будет до цикла?

________________________
Мы смотрим с оптимизмом...
...в оптический прицел.
...
Рейтинг: 0 / 0
PHP: Вопрос по сортировке и фильтрации массивов
    #38404519
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну если делать по подобию вашего кода на перле (хотя я его не знаю), то наверное будет как-то так:

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
<table>
<? $title = array('fld1'=>'поле 1'); ?>
<? foreach($data['session'] as $field => $value): ?>
	<tr>
		<th><?= isset($title[$field])? $title[$field] : $field; ?></th>
		<td><?= $value ?></td>
	</tr>
<? endforeach; ?>
</table>
...
Рейтинг: 0 / 0
PHP: Вопрос по сортировке и фильтрации массивов
    #38404527
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
PHP: Вопрос по сортировке и фильтрации массивов
    #38404596
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторНо мне нужно отфильтровать список полей и вместо их имен использовать альясы
что что нужно?
...
Рейтинг: 0 / 0
PHP: Вопрос по сортировке и фильтрации массивов
    #38404662
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hett+ сортировка
http://php.net/manual/ru/function.array-multisort.php
Благодарю, но это немного не то.
Сделал так:
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
<? $fields = ['fld1' => 'Поле1', ... ]; ?>
<table>
<? foreach($fields as $field => $title): ?>
	<tr>
		<th><?= $title ?></th>
		<td><?= $data['session'][$field] ?></td>
	</tr>
<? endforeach; ?>
</table>
...
Рейтинг: 0 / 0
PHP: Вопрос по сортировке и фильтрации массивов
    #38404694
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ты хоть так сделай
Код: php
1.
2.
3.
<?php if (exist($data['session'][$field])):?>
<td><?= $data['session'][$field] ?></td>
<?php endif; ?>
...
Рейтинг: 0 / 0
PHP: Вопрос по сортировке и фильтрации массивов
    #38404712
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ScareCrowты хоть так сделай
Код: php
1.
2.
3.
<?php if (exist($data['session'][$field])):?>
<td><?= $data['session'][$field] ?></td>
<?php endif; ?>



уж лучше первый вариант, а то и пых не ругнется и данные возможно никто не увидет, и найдут баг через 2 года только
...
Рейтинг: 0 / 0
PHP: Вопрос по сортировке и фильтрации массивов
    #38404732
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ScareCrowты хоть так сделай
В моем случае такую проверку можно не делать.
Если бы список полей был динамический, тогда бы я проверял поле на наличие.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / PHP: Вопрос по сортировке и фильтрации массивов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]