|
|
|
| Подскажите пожалуйста, как мне из этого массива получить человеко-понятные сообщения. Например где [day] чтобы в итоге было написано День: 1 и тд по русски. И еще вопрос, сейчас массива 2 а может быть тысячу, как это предусмотреть и вывести все что есть по русски?
Array
(
[form] => Array
(
[0] => Array
(
[day] => 1
[month] => Апрель
[year] => 2013
[heading] => 3
[subheading] => Джаз/Блюз
[company_name] => ООО Кирпичи
[address_1] => Строительная, 21
[address_2] =>
[address_3] =>
[address_4] =>
[address_5] =>
[address_6] =>
[phone_1] => До 20 символов
[phone_2] => До 20 символов
[phone_3] => До 20 символов
[phone_4] => До 20 символов
[phone_5] => До 20 символов
[phone_6] => До 20 символов
[social_1] =>
[social_2] =>
[social_3] =>
[social_4] =>
[social_5] =>
[social_6] =>
[email] => stroitorg@mail.ru
[surname] => Антонов
[name] => Олег
[patronymic] => Васильевич
[text] => Текст объявления
)
[1] => Array
(
[day] => 1
[month] => Ноябрь
[year] => 2014
[heading] => 19
[subheading] => Агентства
[company_name] => ИП Карамелюк
[address_1] => Ул. набережная 42
[address_2] =>
[address_3] =>
[address_4] =>
[address_5] =>
[address_6] =>
[phone_1] =>
[phone_2] =>
[phone_3] =>
[phone_4] =>
[phone_5] =>
[phone_6] =>
[social_1] =>
[social_2] =>
[social_3] =>
[social_4] =>
[social_5] =>
[social_6] =>
[email] => karameluk@bk.ru
[surname] => Карамелюк
[name] => Виктор
[patronymic] => Антонович
[text] => Текст объявления
)
)
)
|
| |
|
|
|
|
|
|
|
для: imchip
(14.12.2013 в 08:40)
| | Это один массив, а не два, имеет два вложенных. А что в этом массиве не по русски? Вы имеете ввиду выводить элементы массива так, чтобы выводились и его ключи и значения, но вместо реальных имен ключей их "заменители" на русском? | |
|
|
|
|
|
|
|
для: confirm
(14.12.2013 в 10:57)
| | да чтобы были ключи и как нужно составить правильно цикл чтобы ничего не пропустить на случай если будет массивов больше чем 2? | |
|
|
|
|
|
|
|
для: imchip
(14.12.2013 в 11:40)
| | Сколько раз повторять - у вас один массив. Описывайте массив названий этих ключей:
<?
$keys = array(
'day' => 'День',
'month' => 'Месяц',
'year' => 'Год',
'heading' => 'Понятия не имею что это',
'subheading' => 'Аналогично',
'company_name' => 'Кирпичи',
'address_1' => 'Адрес 1',
'address_2' => 'Адрес 2',
'address_3' => 'Адрес 3',
'address_4' => 'Адрес 4',
'address_5' => 'Адрес 5',
'address_6' => 'Адрес 6',
'phone_1' => 'Телефон 1',
'phone_2' => 'Телефон 2',
'phone_3' => 'Телефон 3',
'phone_4' => 'Телефон 4',
'phone_5' => 'Телефон 5',
'phone_6' => 'Телефон 6',
'social_1' => '???',
'social_2' => '???',
'social_3' => '???',
'social_4' => '???',
'social_5' => '???',
'social_6' => '???',
'email' => 'Мыло',
'surname' => 'Фамилие',
'name' => 'Имя',
'patronymic' => 'Отчество',
'text' => 'Объявление'
);
foreach($array['form'] as $m) {
//вывод, куда-то и в чем-то, вопрос в чем...
foreach($m as $k=>$v) echo $keys[$k].' '.$v.'<br>';
}
|
| |
|
|
|
|
|
|
|
для: confirm
(14.12.2013 в 12:31)
| | спасибо большое. а как сделать проверку допустим если значение поля address_1 равно ничего не содержит то чтобы строка такая вобще не выводилась и игнорировалась в выводе? | |
|
|
|
|
|
|
|
для: imchip
(14.12.2013 в 13:33)
| | В этом цикле и проверяйте - соответствует условию, значит вывод, нет, значит нет. | |
|
|
|
|
|
|
|
для: confirm
(14.12.2013 в 13:36)
| | Прошу прощения, у меня появляется ошибка не могу понять в чем дело
Array
(
[form] => Array
(
[0] => Array
(
[day] => Array
(
[0] => 15
)
[month] => Array
(
[0] => Март
)
[year] => Array
(
[0] => 2015
)
[heading] => 3
[subheading] => Фолк/Этно
[company_name] => значение
[address_1] => значение
[address_2] =>
[address_3] =>
[address_4] =>
[address_5] =>
[address_6] =>
[phone_1] => До 20 символов
[phone_2] => До 20 символов
[phone_3] => До 20 символов
[phone_4] => До 20 символов
[phone_5] => До 20 символов
[phone_6] => До 20 символов
[social_1] =>
[social_2] =>
[social_3] =>
[social_4] =>
[social_5] =>
[social_6] =>
[email] => значение
[surname] => значение
[name] => значение
[patronymic] => значение
[text] => значение
)
[1] => Array
(
[day] => Array
(
[0] => 1
)
[month] => Array
(
[0] => Ноябрь
)
[year] => Array
(
[0] => 2013
)
[heading] => 16
[subheading] => Няни
[company_name] => значение
[address_1] => значение
[address_2] =>
[address_3] =>
[address_4] =>
[address_5] =>
[address_6] =>
[phone_1] =>
[phone_2] =>
[phone_3] =>
[phone_4] =>
[phone_5] =>
[phone_6] =>
[social_1] =>
[social_2] =>
[social_3] =>
[social_4] =>
[social_5] =>
[social_6] =>
[email] => значение
[surname] => значение
[name] => значение
[patronymic] => значение
[text] => значение
)
)
)
|
Ошибка заключается в том что поля дата выхода месяц и год выводят значения arrow:
Дата выхода: Array
Месяц: Array
Год: Array | |
|
|
|
|
|
|
|
для: imchip
(15.12.2013 в 18:04)
| | Вы понимаете то, что я вам писал ранее или нет?
Я вас спросил - "вам нужно при выводе массива вместо ключей выводить из русские значения?", вы ответили да.
А что вы такое творите у себя, что эти значения оказались в исходном массиве, я понятия не имею.
Чего вам надо на самом деле? | |
|
|
|
|
|
|
|
для: confirm
(15.12.2013 в 18:09)
| | Да за ключи большое спасибо они работают. На данный момент мне нужно получить значения полей day, month и year. У меня вместо значения пишет "arrow"
Array
(
[form] => Array
(
[0] => Array
(
[day] => Array
(
[0] => 15
)
[month] => Array
(
[0] => Март
)
[year] => Array
(
[0] => 2015
)
|
| |
|
|
|
|
|
|
|
для: imchip
(15.12.2013 в 18:21)
| | Вы не понимаете, что вас спрашивают - каким образом русские названия попали в исходный массив?
Вывод - это вывод браузер, и для того, чтобы вывести один раз вместо month Март, втыкать Март в исходный массив нет необходимости.
Это вы понимаете? | |
|
|
|
|
|
|
|
для: confirm
(15.12.2013 в 18:31)
| | Это результат работы функции printf('<pre>%s</pre>', print_r($_POST, true)); | |
|
|
|
|
|
|
|
для: imchip
(15.12.2013 в 18:32)
| | Выбросите в помойку, и эту функцию, и этот результат.
Что вам надо конкретно вы объяснить можете? | |
|
|
|
|
|
|
|
для: confirm
(15.12.2013 в 18:37)
| | Я хочу чтобы ваш предыдущий код с циклом - выводил значения полей, а не слово arrow. Результат работы скрипта с немного измененным массивом (код который разместил сегодня):
Дата выхода: Array
Месяц: Array
Год: Array | |
|
|
|
|
|
|
|
для: imchip
(15.12.2013 в 18:42)
| | Дата выхода: Array
Месяц: Array
Год: Array
printf('<pre>%s</pre>', print_r($_POST, true));
#var_dump($_POST);
//Ключи
$keys = array(
'day' => 'Дата выхода:',
'month' => 'Месяц:',
'year' => 'Год:',
'heading' => 'Рубрика:',
'subheading' => 'Подрубрика:',
'company_name' => 'Название компании:',
'address_1' => 'Адрес 1:',
'address_2' => 'Адрес 2:',
'address_3' => 'Адрес 3:',
'address_4' => 'Адрес 4:',
'address_5' => 'Адрес 5:',
'address_6' => 'Адрес 6:',
'phone_1' => 'Телефон 1:',
'phone_2' => 'Телефон 2:',
'phone_3' => 'Телефон 3:',
'phone_4' => 'Телефон 4:',
'phone_5' => 'Телефон 5:',
'phone_6' => 'Телефон 6:',
'social_1' => 'Социальная сеть 1:',
'social_2' => 'Социальная сеть 2:',
'social_3' => 'Социальная сеть 3:',
'social_4' => 'Социальная сеть 4:',
'social_5' => 'Социальная сеть 5:',
'social_6' => 'Социальная сеть 6:',
'email' => 'Электронная почта:',
'surname' => 'Фамилия:',
'name' => 'Имя:',
'patronymic' => 'Отчество:',
'text' => 'Объявление:'
);
//Генератор номера заказа
$numorder = mt_rand(1, 9999999999);
//Считаем кол-во рубрикаторов
$count = count($form);
echo "<b>Номер заказа:</b> ".$numorder."<br>";
echo "<b>Кол-во рубрикаторов:</b> ".$count."<br>";
echo "<b>Сумма заказа:</b> <br><br>";
foreach($_POST['form'] as $m) {
foreach($m as $k=>$v) echo $keys[$k].' '.$v.'<br>';
echo '<br>---------------------------------------<br><br>';
}
|
А результат работы функции которую я выкинул в помойку:
Array
(
[form] => Array
(
[0] => Array
(
[day] => Array
(
[0] => 1
[1] => 1
)
[month] => Array
(
[0] => Март
[1] => Март
)
[year] => Array
(
[0] => 2013
[1] => 2015
)
[heading] => 5
[subheading] => Европейская кухня
[company_name] => wewe
[address_1] => wewe
[address_2] =>
[address_3] =>
[address_4] =>
[address_5] =>
[address_6] =>
[phone_1] => До 20 символов
[phone_2] => До 20 символов
[phone_3] => До 20 символов
[phone_4] => До 20 символов
[phone_5] => До 20 символов
[phone_6] => До 20 символов
[social_1] =>
[social_2] =>
[social_3] =>
[social_4] =>
[social_5] =>
[social_6] =>
[email] => wew
[surname] => wew
[name] => wewe
[patronymic] => wew
[text] => wewefwef
)
[1] => Array
(
[day] => Array
(
[0] => 15
[1] => 15
)
[month] => Array
(
[0] => Январь
[1] => Апрель
)
[year] => Array
(
[0] => 2014
[1] => 2014
)
[heading] => 3
[subheading] => Альтернатива
[company_name] => wewe
[address_1] => wewewe
[address_2] =>
[address_3] =>
[address_4] =>
[address_5] =>
[address_6] =>
[phone_1] =>
[phone_2] =>
[phone_3] =>
[phone_4] =>
[phone_5] =>
[phone_6] =>
[social_1] =>
[social_2] =>
[social_3] =>
[social_4] =>
[social_5] =>
[social_6] =>
[email] => wew
[surname] => wew
[name] => wewe
[patronymic] => wew
[text] => wewe
)
)
)
|
| |
|
|
|
|
|
|
|
для: imchip
(15.12.2013 в 18:45)
| |
<?
$keys = array(
'day' => 'Дата выхода',
'month' => 'Месяц',
'year' => 'Год',
'heading' => 'Рубрика',
'subheading' => 'Подрубрика',
'company_name' => 'Название компании',
'address_1' => 'Адрес 1',
'address_2' => 'Адрес 2',
'address_3' => 'Адрес 3',
'address_4' => 'Адрес 4',
'address_5' => 'Адрес 5',
'address_6' => 'Адрес 6',
'phone_1' => 'Телефон 1',
'phone_2' => 'Телефон 2',
'phone_3' => 'Телефон 3',
'phone_4' => 'Телефон 4',
'phone_5' => 'Телефон 5',
'phone_6' => 'Телефон 6',
'social_1' => 'Социальная сеть 1',
'social_2' => 'Социальная сеть 2',
'social_3' => 'Социальная сеть 3',
'social_4' => 'Социальная сеть 4',
'social_5' => 'Социальная сеть 5',
'social_6' => 'Социальная сеть 6',
'email' => 'Электронная почта',
'surname' => 'Фамилия',
'name' => 'Имя',
'patronymic' => 'Отчество',
'text' => 'Объявление'
);
$_POST['form'] = array(
array('day' => 15,
'month' => 'Март',
'year' => 2015,
'heading' => 3,
'subheading' => 'Фолк/Этно',
'company_name' => 'значение',
'address_1' => 'значение',
'address_2' => '',
'address_3' => '',
'address_4' => '',
'address_5' => '',
'address_6' => '',
'phone_1' => 'До 20 символов',
'phone_2' => 'До 20 символов',
'phone_3' => 'До 20 символов',
'phone_4' => 'До 20 символов',
'phone_5' => 'До 20 символов',
'phone_6' => 'До 20 символов',
'social_1' => '',
'social_2' => '',
'social_3' => '',
'social_4' => '',
'social_5' => '',
'social_6' => '',
'email' => 'значение',
'surname' => 'значение',
'name' => 'значение',
'patronymic' => 'значение',
'text' => 'значение')
);
echo '<pre>';
print_r($_POST['form']);
echo '</pre>';
foreach($_POST['form'] as $m) {
foreach($m as $k=>$v) if($v = trim($v)) echo $keys[$k].': '.$v.'<br>';
echo '<br>---------------------------------------<br><br>';
}
|
И как вам хочется так и выводит, а вот это
[day] => Array
(
[0] => 1
[1] => 1
)
[month] => Array
(
[0] => Март
[1] => Март
)
[year] => Array
(
[0] => 2013
[1] => 2015
)
|
может быть только результатом того, что вы до вывода преобразовали исходный массив, а как, разбирайтесь сами. По крайней мере мне об этом не известно. | |
|
|
|
|