PHP如何检查第一个字符是否为£,如果是,则将其删除

use*_*846 2 php

我究竟如何检查第一个字符$value是£,然后删除它,如果是?

更好的方法是检查它是否不是数字,然后将其删除.

我目前的代码:

echo '<dl style="margin-bottom: 1em;">';

foreach ($row as $key => $value)
{
    echo "<dt>$key</dt><dd>$value</dd>";
}

echo '</dl>';
Run Code Online (Sandbox Code Playgroud)

Hip*_*jim 25

有些人建议修剪 - 这对大多数用途来说可能都很好,但也可能会删除尾随的'£'.

如果你真的只想从字符串的开头删除'£',你可能想看看使用ltrim

例如

$value = ltrim($value, '£');
Run Code Online (Sandbox Code Playgroud)

(我知道这个问题的意图是从字符串中剥离非数字,但我发现这只是谷歌搜索从一开始只删除一个字符,所以毫无疑问其他人也会这样.这应该帮助他们)

  • 请记住,这将删除任意数量的目标字符的连续出现,严格来说这不是问题所要求的. (3认同)

qee*_*eek 13

你知道有这个功能吗? http://php.net/manual/en/function.str-replace.php

str_replace('£', '', $value);
Run Code Online (Sandbox Code Playgroud)

当然

ltrim($value, '£')
Run Code Online (Sandbox Code Playgroud)

如果你只想摆脱第一个角色

另外:http://php.net/manual/en/function.is-numeric.php

  • 这不是正确的答案.他询问如何检查第一个字符是否是某个东西,如果是,则将其删除.上面的代码删除了所有出现的£,而不仅仅是第一次出现,只有第一个字符是£. (13认同)
  • 那么ltrim($ value,'£')就是这样,我想 (5认同)

Nea*_*eal 10

你可以使用trim()

$value = trim($value, "£");
Run Code Online (Sandbox Code Playgroud)

在您的代码中,您可以:

    foreach($row as $key => $value){

       echo "<dt>$key</dt><dd>".trim($value, "£")."</dd>" ;

    }
Run Code Online (Sandbox Code Playgroud)


Mar*_*rcx 9

你可以这样做:

if (substr($value,0,1)=="£") $value = substr($value,1);
Run Code Online (Sandbox Code Playgroud)

要么

if ($value[0]=="£") $value = substr($value,1);
Run Code Online (Sandbox Code Playgroud)

或(这样你检查字符(从值减去)是否是数字)

if (!is_numeric(substr($value,0,1))) $value = substr($value,1);
Run Code Online (Sandbox Code Playgroud)