String to Array and Back

2020-02-16 04:53发布

问题:

I have a string, how do I convert it to an array?

After manipulating that array, how do I again make it into a string?

Do strings in PHP behave the same way as in Java?

is there a dupe for this?

回答1:

as in C, strings are arrays in php

then

<?php
$a = "hola";

for($i=0; $i < strlen($a); $i++) {
 echo $a[$i] . "\n";

}

$a[2] = "-"; // will print ho-a
?>

what operation do you want to do?



回答2:

explode ( string $delimiter , string $string [, int $limit ] )

... and after changes ...

implode ( string $glue , array $pieces )

check out http://php.net/explode
and http://php.net/implode

You can also use split or join which, as far as I know, support regex



回答3:

$wordArray = str_split('string to array');


回答4:

in php you can use:

split like

Description

array split ( string $pattern , string $string [, int $limit ] )

Splits a string into array by regular expression.

or

implode

<?php

$array = array('lastname', 'email', 'phone');
$comma_separated = implode(",", $array);

echo $comma_separated; // lastname,email,phone

?> 


回答5:

à la perl

<?php
    $string = 'aslkdjlcnasklhdalkfhlasierjnalskdj';
    $array  = array_slice(preg_split('//sx', $string), 1, -1);
?>


回答6:

In Java you can do String.tocharArray() which converts the string into an array of characters. You can do a String.split(regex) to split by a regular expression, returning a String array. A char array or String array can be looped on easily to convert back to a string.

I'm not sure what you mean by "do they behave the same". Essentially they provide the same functionality... however in Java a String is an object that can be iterated upon if need be.



回答7:

In PHP Strings can be accessed like arrays.

e.g.:

$my_string = 'abcdef';

$my_string[0] ==> 'a'
$my_string[1] ==> 'b'

If you want to convert a series of words into an array then use explode(' ',$my_string);

Note: Strings in PHP are not the same as Java. In PHP they can also represent the contents of any file.

You can learn almost anything there is to know by checking the documentation :)



回答8:

In PHP you can split and join. Don´t know how Java behaves.



回答9:

For all those looking for a simple multi-byte solution ...

Remember, set the character encoding appropriately for your task.

mb_internal_encoding('UTF-8');  // For example.
mb_regex_encoding('UTF-8');     // For example.

String to Array

$characters = mb_split("", $string); // Returns an array.

Array to String

$newString = implode($charaters);

Your other option would be to loop through $characters and concatenate the string yourself!