php获取数组中特定索引的值

时间:2015-04-21 04:21:27

标签: php arrays

我有这个问题。我想回显一个数组的特定索引的值。我的代码就是这个。

<?php
$str = 'test1:val1,test2:val2,test3:val3'
$ex1 = explode(',',$str);
foreach($ex1 as $val){
  $ex2 = explode(':',$val);
  foreach($ex2 as $val2){
    echo $val2.'<br>';
  }
}

//the output will be
/*
test1
val1
test2
val2
test3
val3
*/
?>

但我希望输出只是test1,test2,test3。 Plss有人帮助我。

2 个答案:

答案 0 :(得分:2)

只需使用substr&amp;获取子字符串即可strpos。试试 -

$str = 'test1:val1,test2:val2,test3:val3';
$ex1 = explode(',',$str);

foreach($ex1 as $val){
  $test = substr($val, 0, strpos($val, ':'));
  echo $test."<br>";
}

或者你也可以这样做 -

$str = 'test1:val1,test2:val2,test3:val3';
$ex1 = explode(',',$str);
foreach($ex1 as $val){
  $ex2 = explode(':',$val);
  echo $ex2[0]."<br>";
}

答案 1 :(得分:0)

您已经接受了答案,但是您可以跳过几行并执行preg_match_all()

$str = 'test1:val1,test2:val2,test3:val3';
preg_match_all('/([^\,\:]{1,})\:([^\,\:]{1,})/',$str,$match);
echo implode(",<br />",$match[1]);