-4

これは、ほとんどの初心者が慣れ親しんでいるものではないため、投稿しています。

問題

数値IDを利用する発券システムがあります。現在、会社の一部の人々はチケット番号の前にゼロを追加することを好み、一部の人々は正しい方法である先頭のゼロなしでそれを参照します. したがって、出力を標準化するには、先頭のゼロを削除する必要があります。

これは簡単に思えるかもしれませんが、単純に str_replace を実行することはできません。これにより、数値の途中にある有効な 0 が削除される可能性があるためです。

これで、一致を preg し、あらゆる種類のファンキーなことを行って答えを見つけることができますが、最も簡単なのは、数値文字列を単に int にキャストすることです。

例として以下を使用してみましょう。

<?php
    $correct = 45678;
    $incorrect = 0045678;

    echo $correct . '<br />';
    echo $incorrect;
?>

そして、次のように出力する必要があります。

45678

0045678

基本的にこれらはアプリケーションでも同じですが、間違った形式で情報を入力する人に対応できるようにしたいと考えています。

4

3 に答える 3

8

使用ltrim:

$str="0045678";

$str = ltrim($str, '0');

echo $str;
于 2013-10-21T08:13:25.000 に答える
0

ltrim() http://de3.php.net/manual/en/function.ltrim.phpを使用することもできます。これにより、左から目的の文字が削除されます

于 2013-10-21T08:12:46.040 に答える
-1

最も簡単な解決策

彼らが言うように、最も単純な解決策が最善であることがよくあります。PHP に、これが処理対象の整数であることを伝えるよりも簡単です。これは、前にペンディング (int) を付けて、整数で作業していることを PHP に伝えます。

前の例を使用します。

<?php
    $correct = 45678;
    $incorrect = (int)0045678;

    echo $correct . '<br />';
    echo $incorrect;
?>

そして、次のように出力する必要があります。

45678

45678

自明のように思えますが、型キャストについて学んだのは、Web サイト開発に数年を費やしたときだけでした。多分あなたはこれが役に立つと思うでしょう。

于 2013-10-21T08:10:49.627 に答える