Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

array> string заменяет символ

Статус пользователя csnet
сообщение 4.12.2015, 0:36
Сообщение #1
Стаж: 12 лет

Сообщений: 4808
Благодарностей: 3849
Полезность: 690

как правильно array одномерный перевести в стринг.
так работает
echo implode(", ",array_keys($email));

только заменяет точку на _ перед доменом


go v cs:go
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя grey
сообщение 4.12.2015, 9:29
Сообщение #2


Стаж: 15 лет

Сообщений: 1785
Благодарностей: 1098
Полезность: 675

Для сеих дел наверное используют


---
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Flesh
сообщение 5.12.2015, 11:43
Сообщение #3


Стаж: 17 лет

Сообщений: 319
Благодарностей: 168
Полезность: 776

JSON был придуман для обмена данными как более легкая XML.
Так что лучше использовать serialize и unserialize.

Код:
<?php
$array = array('foo', 'bar');

// Получаем строку
$string = serialize($array);

// Получаем обратно массив
$new_array = unserialize($string);
?>
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя onotole
сообщение 5.12.2015, 15:35
Сообщение #4


Иконка группы

Стаж: 13 лет

Сообщений: 1572
Благодарностей: 1119
Полезность: 1550

Меценат Меценат

Цитата(Flesh @ 5.12.2015, 12:38) *
JSON был придуман для обмена данными как более легкая XML.
Так что лучше использовать serialize и unserialize.

Код:
<?php
$array = array('foo', 'bar');

// Получаем строку
$string = serialize($array);

// Получаем обратно массив
$new_array = unserialize($string);
?>

Вообще не в тему, это раз. Два: сериализация затрачивает в разы больше ресурсов, чем конвертирование в json. И в третьих - история появления JSON никак не связана с XML. Это совершенно разные форматы

Цитата
как правильно array одномерный перевести в стринг.
так работает
echo implode(", ",array_keys($email));

только заменяет точку на _ перед доменом

Задачу опиши. Что в масиве и что нужно вывести

Отредактировал: onotole, - 5.12.2015, 15:36
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя csnet
сообщение 5.12.2015, 15:39
Сообщение #5
Стаж: 12 лет

Сообщений: 4808
Благодарностей: 3849
Полезность: 690

массив такой, обычный

Array
(
[12345@mail_ru] =>
)

возможно я ступил и не проверил само тело запроса, вдруг оно точку рубит уже в нем. ведь array выводит уже со знаком _ru

Отредактировал: csnet, - 5.12.2015, 15:41


go v cs:go
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя grey
сообщение 5.12.2015, 23:25
Сообщение #6


Стаж: 15 лет

Сообщений: 1785
Благодарностей: 1098
Полезность: 675

Цитата(Flesh @ 5.12.2015, 12:38) *
JSON был придуман для обмена данными как более легкая XML.
Так что лучше использовать serialize и unserialize.

Да и для конверта в строчку тоже подойдет.. ну и хранения БД, я например маршруты юзеров в форуме храню - это очень удобно

Цитата(csnet @ 5.12.2015, 16:35) *
Array
(
[12345@mail_ru] =>
)

Лучше данные заносить в значение, а ключ можно назвать email например 'email' => 'email@email.ru' , но это лично мое мнение...)


---
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Flesh
сообщение 6.12.2015, 16:31
Сообщение #7


Стаж: 17 лет

Сообщений: 319
Благодарностей: 168
Полезность: 776

Цитата(onotole @ 5.12.2015, 16:30) *
сериализация затрачивает в разы больше ресурсов, чем конвертирование в json.

От куда ты вообще это взял ?

http://habrahabr.ru/post/30210/
JSON vs Serialize
Результат работы скрипта:

Data length (print_r): 610Kb
Serialize: 0.22sec. (472Kb)
Unserialize: 0.17sec.
JSON encode: 0.19sec. (303Kb)
JSON decode: 0.26sec.

В сумме кодирование + декодирование одного и того же массива serialize делает быстрее.

Цитата(onotole @ 5.12.2015, 16:30) *
Вообще не в тему


JSON это формат обмена данными.
Это тоже самое что забивать микроскопом гвозди, вроде можно но неудобно.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Flesh
сообщение 6.12.2015, 16:39
Сообщение #8


Стаж: 17 лет

Сообщений: 319
Благодарностей: 168
Полезность: 776

Цитата(csnet @ 5.12.2015, 16:35) *
массив такой, обычный

Array
(
[12345@mail_ru] =>
)

возможно я ступил и не проверил само тело запроса, вдруг оно точку рубит уже в нем. ведь array выводит уже со знаком _ru

Код:
echo implode(", ",array_keys($email));

В этом коде у тебя ошибок нет, и ни одна из этих функция не заменяет точку на _ в ключе массива.
Проблема у тебя в чем то другом.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя onotole
сообщение 6.12.2015, 17:40
Сообщение #9


Иконка группы

Стаж: 13 лет

Сообщений: 1572
Благодарностей: 1119
Полезность: 1550

Меценат Меценат

Цитата(Flesh @ 6.12.2015, 17:27) *
От куда ты вообще это взял ?

http://habrahabr.ru/post/30210/
JSON vs Serialize
Результат работы скрипта:

Data length (print_r): 610Kb
Serialize: 0.22sec. (472Kb)
Unserialize: 0.17sec.
JSON encode: 0.19sec. (303Kb)
JSON decode: 0.26sec.

В сумме кодирование + декодирование одного и того же массива serialize делает быстрее.



JSON это формат обмена данными.
Это тоже самое что забивать микроскопом гвозди, вроде можно но неудобно.

Ну ну..
Цитата
Serialize: 0.22sec. (472Kb)
JSON encode: 0.19sec. (303Kb)

И сериализация только для пхп. В том же Javascript ты ничего не сделаешь с этими данными. А JSON "знают" практически все языки. Можно вынуть из базы данные и сразу передать в javascript
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Flesh
сообщение 6.12.2015, 18:03
Сообщение #10


Стаж: 17 лет

Сообщений: 319
Благодарностей: 168
Полезность: 776

Цитата(onotole @ 6.12.2015, 18:36) *
Ну ну..

И сериализация только для пхп. В том же Javascript ты ничего не сделаешь с этими данными. А JSON "знают" практически все языки. Можно вынуть из базы данные и сразу передать в javascript

Ты читать умеешь ?
Цитата
В сумме кодирование + декодирование одного и того же массива serialize делает быстрее.

Цитата
Unserialize: 0.17sec.
JSON decode: 0.26sec.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Orty_Hart
сообщение 7.12.2015, 22:31
Сообщение #11
Стаж: 14 лет

Сообщений: 1399
Благодарностей: 408
Полезность: 725

csnet,
Объединяет элементы массива в строку
implode

Код
<?php
$array = array('test@i.ua', 'google@email.com', 'Kill_pro@mail.ru');
$comma_separated = implode(",", $array);
echo $comma_separated; // test@i.ua,google@email.com,Kill_pro@mail.ru
?>


Всё работает отлично. Нужно давать не 1-2 строки, а кусок кода.

Отредактировал: Orty_Hart, - 7.12.2015, 22:34
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя jtiq
сообщение 8.12.2015, 0:06
Сообщение #12


Иконка группы

Стаж: 18 лет

Сообщений: 1717
Благодарностей: 767
Полезность: 979

Меценат Меценат

csnet, сделай print_r или var_dump переменной $email и напиши сюда результат
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: