0

我对编程还是很陌生,所以请原谅。

我需要执行以下操作:

现在我有一个带有两个值的字符串输出:一个带有字符和数字,一个逗号,第二个带有一个布尔值。

9fjrie93, 1

我想修剪字符串,使其仅作为布尔值输出。例如

1

然后我需要对布尔值执行相等性检查。如果它是 1 做一件事,否则做另一件事。一个简单的 if 语句就足够了吗?

非常感谢

4

9 回答 9

3

怎么样:

$vals = explode(", ", "9fjrie93, 1");
if ($vals[1]) ...
于 2012-09-21T13:24:11.020 回答
3

如果它始终是最后一个字符,则无需爆炸。

<?php
$val = '9fjrie93, 1';
if( substr( $val, -1 ) === '1' ) {
    // do stuff.
}
else {
    // do stuff. Just other stuff.
}
于 2012-09-21T13:29:26.687 回答
1

您还可以使用list来命名返回的结果:

$original_str = '9fjrie93, 1';
list($characters, $boolean) = explode(', ', $original_str);
echo $boolean;
于 2012-09-21T13:30:49.097 回答
0
 $output = str_replace(',', '', strstr('9fjrie93, 1', ','));
 if( $output == '1' ) {
   ....do something
  } else {
  ...do something else
  }
于 2012-09-21T13:27:11.380 回答
0

试试这个:

    $str = '9fjrie93, 1';
    $str = explode(', ', $str); //it returns array('9fjrie93', '1')
    $str = end($str); //takes the last element of the array
于 2012-09-21T13:27:48.193 回答
0
$mystring = '9fjrie93, 1';
$findme   = ',';
$pos = strpos($mystring, $findme);
$i= substr($mystring,$pos);
于 2012-09-21T13:28:15.737 回答
0
$string = "9fjrie93, 1";
$val = substr($string, (strrpos($string, ',')+1));

不要使用爆炸,因为它更慢

于 2012-09-21T13:28:31.737 回答
0

如果 1 总是在行尾,你可以这样做:

$line = '9fjrie93, 1'
if ( $line[strlen([$line])-1] == '1' ) {
    // do stuff
} else {
    // do other stuff
}

至少应该比explode,str_replacesubstr解决方案表现更好。

于 2012-09-21T13:30:03.337 回答
0
$pos = strpos($source_str, ',');
substr($source_str, $x_pos + 1);

希望这能解决它。

于 2012-09-21T13:31:23.357 回答