Hướng dẫn php if last character is - php nếu ký tự cuối cùng là

Tôi có 2 đoạn mã mà tôi đã chơi cùng, nhưng dường như không thể có được logic để gắn bó với một trong hai.

Tôi đang cố gắng xem liệu một chuỗi nhất định có '/' ở cuối không, nếu không thì thêm nó.

$path = '.';

if (substr($path, 0, -1) != '/')
    $path .= '/';

if (strrpos('/', $path) !== true)
    $path .= '/';

Vấn đề tôi đang gặp phải là nếu tôi làm cho $path bằng với

if (strrpos('/', $path) !== true)
    $path .= '/';
0 thì tôi nhận được điều này làm đầu ra
if (strrpos('/', $path) !== true)
    $path .= '/';
1

Đây là đoạn trích mà tôi đang gặp vấn đề

if (!is_array($paths))
    $this->classPath[] = $paths;
else
    $this->classPath = $paths;

foreach ($this->classPath as $path) {

    if (strrpos('/', $path) !== true)// || substr_count($path, '/') >= 0)
        $path = $path . '/';
    //else
        //$this->classPath[] = $path;
        //echo '0';
    $pathArr[] = $path;

hỏi ngày 18 tháng 2 năm 2012 lúc 7:55Feb 18, 2012 at 7:55

Hướng dẫn php if last character is - php nếu ký tự cuối cùng là

ElieliEli

4.2606 Huy hiệu vàng48 Huy hiệu bạc77 Huy hiệu đồng6 gold badges48 silver badges77 bronze badges

6

Bạn có thể đang quá suy nghĩ. Mặc dù phương pháp

if (strrpos('/', $path) !== true)
    $path .= '/';
2 sẽ hoạt động hoàn hảo, có thể đơn giản hơn khi sử dụng
if (strrpos('/', $path) !== true)
    $path .= '/';
3 để loại bỏ bất kỳ dấu gạch chéo nào và sau đó thêm một lần.

$path = rtrim($path, '/') . '/';

THẬN TRỌNG: Điều này sẽ cắt giảm nhiều dấu gạch chéo về phía trước. Vì vậy,

if (strrpos('/', $path) !== true)
    $path .= '/';
4 trở thành
if (strrpos('/', $path) !== true)
    $path .= '/';
5

Đã trả lời ngày 18 tháng 2 năm 2012 lúc 8:06Feb 18, 2012 at 8:06

Mike Bmike bMike B

31.6K13 Huy hiệu vàng85 Huy hiệu bạc111 Huy hiệu đồng13 gold badges85 silver badges111 bronze badges

4

Giải pháp của tôi: Đơn giản và thậm chí chuyển đổi các dấu gạch chéo trở lại, hữu ích cho các nhà phát triển Windows:

function fixpath($p) {
    $p=str_replace('\\','/',trim($p));
    return (substr($p,-1)!='/') ? $p.='/' : $p;
}

Đã trả lời ngày 11 tháng 4 năm 2016 lúc 14:06Apr 11, 2016 at 14:06

Countachcountachcountach

2874 Huy hiệu bạc4 Huy hiệu đồng4 silver badges4 bronze badges

Bạn có thể cố gắng sử dụng chức năng này

    function endsWith($FullStr, $needle)
    {
        $StrLen = strlen($needle);
        $FullStrEnd = substr($FullStr, strlen($FullStr) - $StrLen);
        return $FullStrEnd == $needle;
    }

Lấy từ bài đăng trên blog của tôi

Sau đó sử dụng nó như

if (endsWith($path,'/') == false) 
{
    $path = $path."/";
}

Và OffCourse nếu bạn không muốn sử dụng chức năng ở trên để nhấm nháp mọi thứ thì bạn nên thay đổi cách bạn đang sử dụng

Cách chính xác để có được char cuối cùng là

if (strrpos('/', $path) !== true)
    $path .= '/';
6

Hướng dẫn php if last character is - php nếu ký tự cuối cùng là

Cigien

56.1K11 Huy hiệu vàng65 Huy hiệu bạc103 Huy hiệu đồng11 gold badges65 silver badges103 bronze badges

Đã trả lời ngày 18 tháng 2 năm 2012 lúc 8:00Feb 18, 2012 at 8:00

Jaspreet Chahaljaspreet ChahalJaspreet Chahal

2.7391 Huy hiệu vàng14 Huy hiệu bạc17 Huy hiệu đồng1 gold badge14 silver badges17 bronze badges

2

Bạn chỉ đang sử dụng Subtr Sai.

Để có được ký tự cuối cùng, bạn chỉ sử dụng bù âm:

if (strrpos('/', $path) !== true)
    $path .= '/';
6

Mã của bạn thiếu 2 điều cơ bản, cần thiết cho việc lập trình:fundamental things, essential for the programming:

  • gỡ lỗi
  • Đọc tài liệu.

Gỡ lỗi đơn giản như chỉ lặp lại các biến của bạn. Bằng cách lặp lại

if (strrpos('/', $path) !== true)
    $path .= '/';
8, bạn có thể nhận ra rằng mã của bạn có phần sai và bằng cách đọc tài liệu, bạn có thể thấy cách sử dụng đúng.
by echoing
if (strrpos('/', $path) !== true)
    $path .= '/';
8 you can make yourself aware that your code is somewhat wrong and by reading documentation you can see the right usage.

Đã trả lời ngày 18 tháng 2 năm 2012 lúc 8:09Feb 18, 2012 at 8:09

Hướng dẫn php if last character is - php nếu ký tự cuối cùng là

Ý thức chung thông thường của bạnYour Common Sense

156K39 Huy hiệu vàng208 Huy hiệu bạc331 Huy hiệu Đồng39 gold badges208 silver badges331 bronze badges

4

Bạn cũng có thể nhận được số lượng ký tự trong chuỗi theo hàm strlen ()

và để lặp lại và truy cập, mọi chỉ mục trong chuỗi và kiểm tra xem chỉ mục này có === '/'

Làm một cái gì đó như

$string = 'test/';
$countString = strlen($string);

for($i=0;$i < $countString;$i++){

    if ($string[$i] === '/'){
        echo 'yes string had /';
        die;
    }
}

Đã trả lời ngày 29 tháng 4 lúc 23:31Apr 29 at 23:31

Làm thế nào tôi có thể nhận được ký tự cuối cùng của một chuỗi trong PHP?

Sử dụng Phương thức Subr (): Subr () là hàm tích hợp trong PHP được sử dụng để trích xuất một phần của chuỗi.Ví dụ: Ví dụ: nếu chuỗi là Akshit yêu thích GeekSforGeeks.Ký tự cuối cùng của chuỗi là về S S S.: The substr() is a built-in function in PHP that is used to extract a part of string. Example: For example, if the string is “Akshit loves GeeksForGeeks”. The last character of the string is “s”.

RTRIM PHP là gì?

Hàm rtrim () loại bỏ khoảng trắng hoặc các ký tự được xác định trước khác từ phía bên phải của chuỗi.Các hàm liên quan: LTRIM () - Loại bỏ khoảng trắng hoặc các ký tự được xác định trước khác khỏi phía bên trái của chuỗi.removes whitespace or other predefined characters from the right side of a string. Related functions: ltrim() - Removes whitespace or other predefined characters from the left side of a string.

Làm cách nào để có được ký tự đầu tiên của chuỗi trong PHP?

Để lấy ký tự đầu tiên từ một chuỗi, chúng ta có thể sử dụng hàm Subr () bằng cách truyền 0,1 dưới dạng đối số thứ hai và thứ ba trong PHP.use the substr() function by passing 0,1 as second and third arguments in PHP.