Содержание
- 0.1 Описание
- 0.2 Список параметров
- 0.3 Возвращаемые значения
- 0.4 Примеры
- 0.5 Описание
- 0.6 Список параметров
- 0.7 Возвращаемые значения
- 0.8 Список изменений
- 0.9 Примеры
- 0.10 Примечания
- 0.11 Смотрите также
- 0.12 User Contributed Notes 10 notes
- 1 Использование функции implode()
- 2 Функция explode()
- 3 Использование функции json()
str_split — Преобразует строку в массив
Описание
Преобразует строку в массив.
Список параметров
Максимальная длина фрагмента.
Возвращаемые значения
Если указан необязательный аргумент split_length , возвращаемый массив будет содержать части исходной строки длиной split_length каждая, иначе каждый элемент будет содержать один символ.
Если split_length меньше 1, возвращается FALSE . Если split_length больше длины строки string , то вся строка будет возвращена в первом и единственном элементе массива.
Примеры
Пример #1 Пример использования str_split()
$arr1 = str_split ( $str );
$arr2 = str_split ( $str , 3 );
print_r ( $arr1 );
print_r ( $arr2 );
(PHP 4, PHP 5, PHP 7)
implode — Объединяет элементы массива в строку
Описание
Объединяет элементы массива с помощью строки glue .
По историческим причинам функции implode() можно передавать аргументы в любом порядке, однако для согласованности с функцией explode() не рекомендуется использовать недокументированный порядок аргументов.
Список параметров
По умолчанию равен пустой строке.
Массив объединяемых строк.
Возвращаемые значения
Возвращает строку, содержащую строковое представление всех элементов массива в указанном порядке, со строкой glue между каждым элементом.
Список изменений
Версия | Описание |
---|---|
7.4.0 | Передача glue после pieces (т.е. использование недокументированного порядка параметров) устарела. |
Примеры
Пример #1 Пример использования implode()
= array( ‘имя’ , ‘почта’ , ‘телефон’ );
$comma_separated = implode ( "," , $array );
echo $comma_separated ; // имя,почта,телефон
// Пустая строка при использовании пустого массива:
var_dump ( implode ( ‘hello’ , array())); // string(0) ""
Примечания
Замечание: Эта функция безопасна для обработки данных в двоичной форме.
Смотрите также
- explode() — Разбивает строку с помощью разделителя
- preg_split() — Разбивает строку по регулярному выражению
- http_build_query() — Генерирует URL-кодированную строку запроса
User Contributed Notes 10 notes
it should be noted that an array with one or no elements works fine. for example:
= array( "1" , "2" , "3" );
$a2 = array( "a" );
$a3 = array();
echo "a1 is: ‘" . implode ( "’,’" , $a1 ). "’
" ;
echo "a2 is: ‘" . implode ( "’,’" , $a2 ). "’
" ;
echo "a3 is: ‘" . implode ( "’,’" , $a3 ). "’
" ;
?>
will produce:
===========
a1 is: ‘1’,’2′,’3′
a2 is: ‘a’
a3 is: »
Can also be used for building tags or complex lists, like the following:
?>
This is just an example, you can create a lot more just finding the right glue! 😉
It’s not obvious from the samples, if/how associative arrays are handled. The "implode" function acts on the array "values", disregarding any keys:
declare( strict_types = 1 );
$a = array( ‘one’ , ‘two’ , ‘three’ );
$b = array( ‘1st’ => ‘four’ , ‘five’ , ‘3rd’ => ‘six’ );
echo implode ( ‘,’ , $a ), ‘/’ , implode ( ‘,’ , $b );
?>
outputs:
one,two,three/four,five,six
It might be worthwhile noting that the array supplied to implode() can contain objects, provided the objects implement the __toString() method.
Example:
class Foo
<
protected $title ;
public function __construct ( $title )
<
$this -> title = $title ;
>
public function __toString ()
<
return $this -> title ;
>
>
$array = [
new Foo ( ‘foo’ ),
new Foo ( ‘bar’ ),
new Foo ( ‘qux’ )
];
echo implode ( ‘; ‘ , $array );
?>
will output:
Also quite handy in INSERT statements:
// array containing data
$array = array(
"name" => "John" ,
"surname" => "Doe" ,
"email" => "j.doe@intelligence.gov"
);
// build query.
$sql = "INSERT INTO table" ;
// implode keys of $array.
$sql .= " (`" . implode ( "`, `" , array_keys ( $array )). "`)" ;
// implode values of $array.
$sql .= " VALUES (‘" . implode ( "’, ‘" , $array ). "’) " ;
// execute query.
$result = mysql_query ( $sql ) or die( mysql_error ());
If you want to implode an array of booleans, you will get a strange result:
( implode ( » ,array( true , true , false , false , true )));
?>
Output:
string(3) "111"
TRUE became "1", FALSE became nothing.
It may be worth noting that if you accidentally call implode on a string rather than an array, you do NOT get your string back, you get NULL:
( implode ( ‘:’ , ‘xxxxx’ ));
?>
returns
NULL
This threw me for a little while.
Even handier if you use the following:
= array( 1 , 6 , 12 , 18 , 24 );
$id_nums = implode ( ", " , $id_nums );
$sqlquery = "Select name,email,phone from usertable where user_id IN ( $id_nums )" ;
// $sqlquery becomes "Select name,email,phone from usertable where user_id IN (1,6,12,18,24)"
?>
Be sure to escape/sanitize/use prepared statements if you get the ids from users.
null values are imploded too. You can use array_filter() to sort out null values.
= array( "hello" , null , "world" );
print( implode ( ‘,’ , $ar )); // hello,,world
print( implode ( ‘,’ , array_filter ( $ar , function( $v )< return $v !== null ; >))); // hello,world
?>
It is possible for an array to have numeric values, as well as string values. Implode will convert all numeric array elements to strings.
= implode ([ "one" , 2 , 3 , "four" , 5.67 ]);
echo $test ;
//outputs: "one23four5.67"
?>
В этой статье разберем как преобразовывать массив в строку и обратно.
Есть два способа преобразовать массив в строку в PHP.
- Использование функции implode()
- Использование функции json_encode()
Использование функции implode()
Используя функцию implode(), мы можем преобразовать все элементы массива в строку. Параметр разделителя в функции implode() является необязательным. Но хорошей практикой будет использовать оба аргумента.
В приведенном выше примере в первой строке объявлена переменная массива и ей присвоены некоторые значения.
На следующей строке функция implode() преобразует массив в строку. Два параметра передаются в функцию implode(). Первый — это разделитель, а второй — массив.
Вы также можете преобразовать полученную строку если требуется обратно в массив. Для этого мы можем использовать функцию PHP explode().
Функция explode()
Используя функцию explode(), мы можем преобразовать строку в элементы массива. Мы можем передать три аргумента. Первый разделитель, второй массив и последний лимит (ограничение длинны).
В приведенном выше примере строковой переменной присваивается некоторое значение. Затем функция explode() разбивает эту строку на массив. После этого мы использовали функцию print_r(), которая печатает все элементы массива и его индексы.
Использование функции json()
В PHP объекты могут быть преобразованы в строку JSON с помощью функции json_encode().
Обычное использование JSON — это чтение данных с веб-сервера и отображение данных на веб-странице.
В приведенном выше примере мы присвоили значение переменной объекта, а затем в json_encode() преобразовали значение в переменную массива и создали ассоциативный массив.