PHP:如何提取此字符串

时间:2014-05-22 11:21:44

标签: php string

假设我有以下字符串:

) [6] => Array ( [2014-05-05 00:0] => My actual content

如果我只希望最后留下My actual content,那么拆分整个字符串的最佳方法是什么?

注意:单词My actual content是可以更改的。我希望根据第二个=>字符串剪切字符串,因为它会一直存在。

3 个答案:

答案 0 :(得分:1)

您似乎只是想找到一个您不知道的键的数组的第一个值。这非常简单:

考虑以下数组:

$array = array(
    '2014-05-22 13:36:00' => 'foo',
    'raboof' => 'eh',
    'qwerty' => 'value',
    '8838277277272' => 'test'
);

方法#1:

  

将数组指针重置为第一个元素并将其返回。

使用reset

var_dump( reset($array) ); //string(3) "foo"

DEMO


方法#2:

  

将重置整个数组以使用0,1,2,3等键。如果您需要获得多个值,则非常有用。

使用array_values

$array = array_values($array);

var_dump( $array[0] );  //string(3) "foo"

DEMO


方法#2.5:

  

将重置整个数组以使用0,1,2,3 ...等键,并在$content变量中选择第一个。如果你需要立即在变量中获得多个值,这很有用。

使用listarray_values

list( $content ) = array_values($array);

var_dump( $content ); //string(3) "foo"

DEMO


方法#3:

  

数组是可迭代的,所以你可以迭代它,但在第一个值之后立即突破。

使用foreach循环但break立即使用

foreach ($array as $value) {
    $content = $value;
    break;
}

var_dump($content); //string(3) "foo"

DEMO

答案 1 :(得分:0)

回答你的问题,从基于最后一针的字符串中提取......

好的,这是一个非常随意的问题,因为您似乎向我们展示了print_r()的结果,您可以引用数组键来获得结果。

但是,你提到“......最后”,所以我假设My actual content实际上正好在你的“字符串”的末尾。

在这种情况下,有一个非常简单的解决方案。您可以使用PHP手册中的strrchr - http://www.php.net/manual/en/function.strrchr.php

所以你看这个:strrchr($string, '=>');

希望这能回答你的问题。如果没有,请提供其他建议。

答案 2 :(得分:0)

你必须在foreach中使用foreach循环来获取多维数组值。

foreach($ value as $ key){

 foreach($key as $val){

  echo $val;
}

}