Trim函數提供了意外的值php [英] trim function is giving unexpected values php
本文介紹了Trim函數提供了意外的值php的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!
問題描述
我接受了以下輸入
$file = 'D:/php/testapp/ta_bles.json';
$table = trim(end(explode("/", $file)), '.json');
但它給出的輸出不是ta_bles
,而是ta_ble
有人能幫我嗎?這是怎么回事
但當我使用以下邏輯時,它給出了預期的結果
$table = str_replace('.json', '', end(explode("/", $file)));
推薦答案
它不能按預期工作的原因是,trim()
(以及相關函數)的第二個參數被用作字符集;因此,在"json.json"
的極端示例中,您將得到一個空字符串,因為它分別裁剪每個字符。
您可以將這樣的操作與以下操作進行比較:
preg_replace('/^[.json]+|[.json]+$/', '', $str);
若要只獲取"tables"
,您應該使用pathinfo()
,而不是嘗試滾動您自己的:
$table = pathinfo('d:/php/testapp/tables.json', PATHINFO_FILENAME);
這篇關于Trim函數提供了意外的值php的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持IT屋!
查看全文