0

まだまだプログラミング初心者ですので、よろしくお願いします。

次のことを行う必要があります。

現在、2 つの値を持つ文字列が出力されています。1 つは文字と数字、カンマ、もう 1 つはブール値のみです。

9fjrie93, 1

文字列をトリミングして、ブール値として入力するだけにしたいと思います。例えば

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
}

少なくともexplodestr_replaceおよびsubstrソリューションよりも優れたパフォーマンスを発揮するはずです。

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

これで解決することを願っています。

于 2012-09-21T13:31:23.357 に答える