codeigniter — Explode Funciton не работает в PHP Показывает, что строка ошибки ожидает параметр 2

здесь $_POST['members'] и я хочу взорвать его |

[members] => Array
(
[0] => test.com|test Melissa
[1] => [email protected]|Buckley test
[2] => [email protected]|test Ashley
[3] => testset.com.au|Forno test
[4] => get.com.au|test Nathan
[5] =>set.com.au|Brown test
)

Я пытаюсь с следующим кодом PHP

$get=explode('|',$_POST['members']);
echo '<pre>';
print_r($get);

-2

Решение

попробуй что-то вроде

foreach($_POST['members'] as $str){
$get[] = explode('|',$str);
}
print_r($get);
1

Другие решения

как $_POST['members'] это массив, вам нужно использовать explode в foreach, получая доступ ко всем элементам массива:

foreach($_POST['members'] as $members)
{
$get=explode('|',$members);
echo '<pre>'; print_r($get);
}
0

Циклически перебирайте массив данных, сохраняйте результаты вашего анализа в новом массиве, и, возможно, вы получите то, что хотите, так:

<?php
$arr                    = [
0 => "test.com|test Melissa",
1 => "[email protected]|Buckley test",
2 => "[email protected]|test Ashley",
3 => "testset.com.au|Forno test",
4 => "get.com.au|test Nathan",
5 => "set.com.au|Brown test"];

$arrSubData         = array();
foreach($arr as $pipeDividedString){
$arrSubData[]   = explode('|', $pipeDividedString);
}var_dump($arrSubData);

свалки

    array (size=6)
0 =>
array (size=2)
0 => string 'test.com' (length=8)
1 => string 'test Melissa' (length=12)
1 =>
array (size=2)
0 => string '[email protected]' (length=16)
1 => string 'Buckley test' (length=12)
2 =>
array (size=2)
0 => string '[email protected]' (length=20)
1 => string 'test Ashley' (length=11)
3 =>
array (size=2)
0 => string 'testset.com.au' (length=14)
1 => string 'Forno test' (length=10)
4 =>
array (size=2)
0 => string 'get.com.au' (length=10)
1 => string 'test Nathan' (length=11)
5 =>
array (size=2)
0 => string 'set.com.au' (length=10)
1 => string 'Brown test' (length=10)
0

$_POST['members'] это массив и explode(); работает на струнах. Вам придется пройти через массив и взорвать каждое значение. Что-то вроде этого :

$arr = array(
'test.com|test Melissa',
'[email protected]|Buckley test',
'[email protected]|test Ashley',
'testset.com.au|Forno test',
'get.com.au|test Nathan',
'set.com.au|Brown test'
);
$get = array();
foreach ($_POST['members'] as $member) {
$get[] = explode('|',$member);
}
echo '<pre>'; print_r($get);
0

Чтобы explode значения, которые вам нужны для цикла $_POST['members'], для этого вы можете использовать для каждого().
Ниже приведен пример, который использует взорваться () а также список() :

<?php
$members = !empty($_POST['members']) ? $_POST['members'] : die("post members is empty");
foreach($members as $member)
{
list($siteEmail, $name) = explode("|", $member);
echo "<pre> $siteEmail $name </pre>";
}

http://ideone.com/qdDmSe

0

Вы можете использовать как это

foreach($_POST['members'] as $val){
$get = explode('|',$val);
}
echo "<pre>";print_r($get);

0
По вопросам рекламы [email protected]