Trim函数提供了意外的值php [英] trim function is giving unexpected values php

查看:0
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆