OrangeRind
OrangeRind

Reputation: 4818

String to Array and Back

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?

Upvotes: 0

Views: 4672

Answers (9)

Anthony Rutledge
Anthony Rutledge

Reputation: 7574

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!

Upvotes: 0

anddoutoi
anddoutoi

Reputation: 10111

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

Upvotes: 0

Andreas
Andreas

Reputation: 5335

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 :)

Upvotes: 0

AlbertoPL
AlbertoPL

Reputation: 11519

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.

Upvotes: 0

jcuenod
jcuenod

Reputation: 58425

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

Upvotes: 5

Pavlo Voznenko
Pavlo Voznenko

Reputation: 123

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

Upvotes: 1

Felipe Buccioni
Felipe Buccioni

Reputation: 19668

à la perl

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

Upvotes: 0

Gabriel Sosa
Gabriel Sosa

Reputation: 7956

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?

Upvotes: 7

Haim Evgi
Haim Evgi

Reputation: 125526

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

?> 

Upvotes: 0

Related Questions