explode single variable in php

Here is what i have in php :

I need to do explode the given variable

$a = "hello~world";

I need to explode as

$first = "hello";
$second = "world";

How can i do this ??

Here is what i have tried so far.

<?php
$str = "a~b";
$a = (explode("~",$str));
$b = (explode("~",$str));
echo explode('.', 'a.b');

?>

I know i did wrong. What is my mistake and how can i fix this ?

Here is Solutions:

We have many solutions to this problem, But we recommend you to use the first solution because it is tested & true solution that will 100% work for you.

Solution 1

If you know the number of variables you’re expecting to get back (ie. 2 in this case) you can just assign them directly into a list:

list($first, $second) = explode('~', $a);
// $first = 'hello';
// $second = 'world';

Solution 2

Explode function will return an array with “explosed” elements

So change your code as follows (if you know that only two elements will be present)

list($a, $b) = explode('~', $str); 
//You don't need to call explode one time for element.

Otherwise, if you don’t know the number of elements:

$exploded_array = explode('~', $str);
foreach ($exploded_array as $element)
{
   echo $element;
}

Solution 3

explode returns an array. explode will break the given string in to parts using given character(here its ~) and will return an array with the exploded parts.

$a = "hello~world";
$str_array = explode("~",$a);

$first = $str_array[0];
$second = $str_array[1];

echo $first." ".$second;

Solution 4

Your code should trigger a clear error message with debug information:

Notice: Array to string conversion

… on this line:

echo explode('.', 'a.b');

… and finally print this:

Array

I suppose you would not ignore this helpful information if you’d seen it so you’ve probably haven’t configured your PHP development box to display error messages. The simplest way is, when installing PHP, to get your php.ini file by copying php.ini-development instead of php.ini-production. If you are using a third-party build, just tweak the error_reporting and display_errors directives.

As about the error, you have to understand that arrays are complex data structures, not scalar values. You cannot print an array as-is with echo. In the development phase you can inspect it with var_dump() (like any other variable).

Note: Use and implement solution 1 because this method fully tested our system.
Thank you 🙂

All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0

Leave a Reply