Сделать массив из строки php

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-кодированную строку запроса
Читайте также  Построить график y 2x2

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.

  1. Использование функции implode()
  2. Использование функции json_encode()

Использование функции implode()

Используя функцию implode(), мы можем преобразовать все элементы массива в строку. Параметр разделителя в функции implode() является необязательным. Но хорошей практикой будет использовать оба аргумента.

В приведенном выше примере в первой строке объявлена ​​переменная массива и ей присвоены некоторые значения.

На следующей строке функция implode() преобразует массив в строку. Два параметра передаются в функцию implode(). Первый — это разделитель, а второй — массив.

Вы также можете преобразовать полученную строку если требуется обратно в массив. Для этого мы можем использовать функцию PHP explode().

Функция explode()

Используя функцию explode(), мы можем преобразовать строку в элементы массива. Мы можем передать три аргумента. Первый разделитель, второй массив и последний лимит (ограничение длинны).

В приведенном выше примере строковой переменной присваивается некоторое значение. Затем функция explode() разбивает эту строку на массив. После этого мы использовали функцию print_r(), которая печатает все элементы массива и его индексы.

Использование функции json()

В PHP объекты могут быть преобразованы в строку JSON с помощью функции json_encode().

Обычное использование JSON — это чтение данных с веб-сервера и отображение данных на веб-странице.

В приведенном выше примере мы присвоили значение переменной объекта, а затем в json_encode() преобразовали значение в переменную массива и создали ассоциативный массив.

Ссылка на основную публикацию
Adblock
detector