定义跨平台的money_format函数(Linux和Windows)

2023-11-25

我读到,money_format 在 Windows 和某些 Linux 发行版(即 BSD 4.11 变体)上不可用。但我想使用普通函数(当可用时)编写跨平台库并使用它解决方法如果没有,那么我的库将能够在每个基于 PHP 的 Web 服务器上运行。

是否有任何简单的解决方案来检查内置函数是否可用,如果不包含上面的解决方案?


仅当系统具有 strfmon 功能时才定义函数 Money_format()。例如,Windows 就没有,因此 Windows 中的 Money_format() 是未定义的。

所以你可以使用这个 php 代码:

setlocale(LC_ALL, ''); // Locale will be different on each system.
$amount = 1000000.97;
$locale = localeconv();
echo $locale['currency_symbol'], number_format($amount, 2, $locale['decimal_point'], $locale['thousands_sep']);

这样您就可以编写实际上可移植的代码,而不是依赖操作系统功能。在 PHP 中提供 Money_format 函数而不将其作为扩展是非常愚蠢的。我不明白为什么你会想在编程语言的不同操作系统之间造成这样的不一致

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

定义跨平台的money_format函数(Linux和Windows) 的相关文章

  • 让登录更安全

    我已使用此代码进行管理员登录 仅当用户输入正确的用户名和密码时才应打开loginhome php 但后来我意识到这根本不安全 任何人都可以直接访问 mywebsite loginhome php 而无需登录 注销后 可以使用后退按钮打开 l
  • 如何从 Laravel 中的表中选择所有列名称?

    我试图从表中获取所有列名Teller 功能 public function getTableColumns tables return DB select DB raw SELECT COLUMN NAME DATA TYPE COLUMN
  • gmail 不断阻止 PHPmailer 登录

    我将在接下来的 8 小时内部署一个网站 而 Gmail 刚刚停止接受 PHPmailer 登录我的帐户 起初 它在测试过程中工作了几个小时 然后 它就停止工作了 我已经允许所有允许不太安全的应用程序从 gmail 登录 但它仍然不允许 ph
  • 当数据验证失败时保留表单字段中的值

    我在弄清楚验证失败时如何保留用户数据时遇到问题 我对 PHP 有点陌生 所以我的逻辑可能会犯一些巨大的错误 目前 如果验证失败 所有字段都会被清除 并且 Post 数据也会消失 这是一些代码 假设用户输入无效电子邮件 我希望保留 名称 字段
  • 如何在响应ajax codeigniter后停止执行其他控制器

    我想知道如何在响应输出 json 数据后停止执行函数和涉及的其他控制器 就我这里的情况而言 我只是打电话test 函数于dashboard控制器 In dashboard构造函数将执行MY Login library In MY Login
  • 如何从父类函数访问子类中定义的常量?

    我从 php net 看到这个例子 但 c MY CONST 仅在 5 3
  • Apache 访问 Linux 中的 NTFS 链接文件夹

    在 Debian jessie 中使用 Apache2 PHP 当我想在 Apache 的文档文件夹 var www 中创建一个新的小节时 我只需创建一个指向我的 php 文件所在的外部文件夹的链接 然后只需更改该文件夹的所有者和权限文件夹
  • Java中有默认的数字类型吗

    如果我写这样的东西 System out println 18 哪种类型有 18 是吗int or byte 或者它还没有类型 它不能是 int 因为这样的东西是正确的 byte b 3 这是不正确的 int i 3 byte bb i e
  • 将“php”作为 shell 脚本执行时的自定义 php.ini 文件

    我在跑php作为 shell 脚本 我不确定 shell脚本 是否正确 该文件以 usr bin php 这很好用 但 MongoDB 类没有正确加载php ini文件 具有extension mongo so 未使用 我该如何使用它tha
  • 从 smarty 访问 PHP 文件的变量(本地或全局)

    我有一个 php 文件 其中包含一些本地和全局变量 例如 foo 从此文件中调用 smarty 对象 如何在不更改 PHP 文件的情况下从 smarty 脚本访问 foo Thanks 如果你有一个名为 BASE 的常量变量 并且定义如下
  • Symfony2 Assetic 和 Less Sourcemaps

    我不确定如何破解 assetic less 过滤器以输出源映射文件 我这里指的是LessFilterhttps github com kriswallsmith assetic blob master src Assetic Filter
  • 从 .phar 存档中提取文件

    对于 Phar 文件 我完全错过了一些东西 我正在安装一个需要 phpunit pdepend 和其他依赖项的项目 我将它们作为 phar 文件获取 但是 我无法使用命令行工具 php 命令 从中提取文件 我用谷歌搜索了这个问题 但没有发现
  • 为什么 iconv 在 php:7.4-fpm-alpine docker 中返回空字符串

    给出以下代码
  • PHP HEREDoc (EOF) 语法在 Sublime Text 3 上突出显示与正斜杠的差异

    我不熟悉 Sublime Text 3 如何使用语法突出显示 例如 如果它纯粹依赖于主题 或者它内置于主题运行的标准中 但就我而言 使用 PHP 的 HERE 文档和转发存在一些语法突出显示差异斜线 一旦出现正斜杠 ST3 就会认为以下所有
  • 表单提交后如何保留选择字段中的选定值?

    我有一个用于将票证上传到数据库的主页 我有一个选择字段 我想保留用户在提交表单之前选择的值 但它没有发生 这是我选择字段的代码
  • 一次播种多行 laravel 5

    我目前正在尝试为我的用户表播种 如果我像这样尝试 2 行 就会失败 如果我只使用单个数组而不是 users 数组内的 2 个数组来创建一些假数据 那么效果很好 我做错了什么 正确的方法是什么 class UserTableSeeder ex
  • 使用正则表达式提取两个短语之间的所有单词[重复]

    这个问题在这里已经有答案了 我正在尝试使用以下正则表达式提取两个短语之间的所有单词 b item W w W 0 2 1 one W w W 0 3 business b b item W w W 0 2 3 three W w W 0 3
  • ini_set 'session.gc_maxlifetime' 为 1 天

    If I do ini set session gc maxlifetime 86400 这是否意味着用户可以将浏览器留在同一页面 非活动状态 最多 1 天 而不必担心会话被垃圾收集并被注销 如果服务器配置不支持此功能会发生什么 它会给我一
  • Magento - 自定义支付模块

    这是一个非常普遍的问题 但这里是 我正在尝试在 Magento 中创建一个自定义支付模块 我创建了一个 常规 模块 可以连接到 Magento 事件 观察者模型 但是我如何告诉 Magento 将模块视为支付模块 以便它显示在管理后端和结账
  • post php mysql 的拆分关键字

    我有一个表存储帖子 ID 它的标签如下 Post id Tags 1 keyword1 keyword2 keyword3 我想循环遍历该表中的每一行并执行以下操作 将关键字1 关键字2 关键字3放入新表中 word id word val

随机推荐

  • 禁用 xampp 将 http 重定向到 https

    我在 localhost 中的 xampp 上为 wordpress 创建了 VirtualHost 并在 httpd vhosts conf 中添加了以下代码
  • 在 Linux 上用 python 监听全局组合键

    我刚刚写了一个小程序 每隔几分钟从 flickr 下载一张新壁纸 现在我想添加 喜欢 壁纸的功能 因此它会比不喜欢或不喜欢的壁纸更频繁地出现 我想为此函数分配一个全局键盘快捷键 例如 如果我按 ctrl 7 它将在 Python 中执行某种
  • Tensorflow尝试使用未初始化的值AUC/AUC/auc/false_positives

    我正在训练用于图像分类的 CNN 由于我的数据集大小有限 我正在使用迁移学习 基本上 我使用的是谷歌在其重新训练示例中证明的预训练网络 https www tensorflow org tutorials image retraining
  • Git重置=致命:无法读取树

    有人在错误的分支上提交了所以我尝试将提交移动到另一个分支 当我尝试回滚提交时 出现以下错误 user server gitrepo git reset hard 9c2de3c0 fatal unable to read tree 9c2d
  • 如何在使用 Android API Level 15 的同时保持向后兼容性?

    冰淇淋三明治引入了很多新的UI设计元素 但市场渗透率仍然只有4 左右 如果您想使其应用程序面向未来 并利用 Honeycomb Ice Cream Sandwich 引入的一些设计元素 例如操作栏 配色方案等 那么确保您保持一定程度的落后的
  • Highgui 和 ruby

    我需要编写一个简单的项目 我正在使用 opencv ruby 和 mac 我通过brew安装了opencv 通过gem install安装了rb webcam coding utf 8 require opencv require rb w
  • .htaccess 用于 SEO 机器人在没有 hashbang 的情况下抓取单页应用程序

    Using a pushState启用页面 通常您使用重定向 SEO 机器人escaped fragment习俗 您可以阅读更多相关内容here 该约定假设您将使用 hashbang 前缀位于单页应用程序上所有 URI 之前 SEO 机器人
  • 按 R 中的因素过滤数据框

    我有以下数据框 sp lt combn c sp1 sp2 sp3 sp4 2 d lt data frame t sp freq sample 0 100 6 和两个因素 x1 lt as factor c sp1 sp2 x2 lt a
  • 如何在 C# 中创建包含多种尺寸/图像的图标文件

    如何创建包含多种尺寸的图标文件 我知道我使用位图创建了一个图标Icon FromHandle 但如何向该图标添加另一个图像 尺寸 Edit 我需要在我的应用程序中执行此操作 因此我无法执行外部应用程序来进行组合 我正在寻找一种将 png 文
  • CSS中按属性选择元素

    是否可以通过 HTML5 数据属性来选择 CSS 中的元素 例如 data role 如果你的意思是使用属性选择器 当然 为什么不呢 data role page Styles 有多种属性选择器可用于各种场景 我链接到的文档中均涵盖了这些选
  • 插入约 5000 行时,核心数据 sqlite-wal 文件变得巨大(>7GB)

    我正在将数据导入 Core Data 并发现保存操作很慢 使用 iOS 模拟器 我观察 sqlite wal 文件不断增长 直到其大小超过 7GB 我正在导入大约 5000 条记录 其中包含大约 10 个字段 这并不是很多数据 我插入的每个
  • 合并不重叠的数组块

    我使用此函数将 512x512 二维数组划分为 2x2 块 skimage util view as blocks arr in block shape array 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
  • BOOST_CHECK 无法编译自定义类型的运算符 <<

    我写了这个非常简单的类 以便清楚我的问题是什么 class A public int x A int y x y bool operator const A other const return x other x 现在 如果我定义 A f
  • 格式正确的乘法口诀表

    我如何制作一个组织成整齐表格的乘法表 我当前的代码是 n int input Please enter a positive integer between 1 and 15 for row in range 1 n 1 for col i
  • C++ 中的结构体可以有构造函数吗?

    Can a structC 中有构造函数吗 我一直在尝试解决这个问题 但我没有得到语法 在 C 中 a 之间的唯一区别class and a struct问题在于 成员和基类在类中默认是私有的 而在结构中默认是公共的 因此结构可以有构造函数
  • Maven cobertura 插件 - 多模块项目的一份报告

    我正在使用 Maven cobertura 插件来报告我的多模块项目中的代码覆盖率 问题是我不知道如何为项目中的所有模块生成一份报告 到目前为止 我已经为每个模块生成了单独的报告 但如果能为整个项目提供一份报告那就太好了 我的父pom配置
  • 将 Coldfusion 加密代码转换为 C#

    我有一个 Coldfusion 页面 其中包含一段加密变量的代码 如下所示
  • 如何在不按键的情况下更改大写锁定状态

    我正在使用一个Python程序 按下大写锁定键时会激活 我希望能够在程序处于活动状态时打开 关闭大写锁定状态 我尝试使用 virtkey 发送密钥 但它显然不起作用 因为密钥只是激活应用程序并且不会更改大写锁定状态 那么使用 python
  • Fluent nHibernate 启动时间慢

    我正在使用 Fluent NHibernate 我喜欢它 我遇到一个小问题 启动时间约为 10 秒 我不知道如何优化 Fluent nHibernate 为了减少启动时间的问题 我将其放在一个线程上 有人可以告诉这个问题的解决方案吗 并回复
  • 定义跨平台的money_format函数(Linux和Windows)

    我读到 money format 在 Windows 和某些 Linux 发行版 即 BSD 4 11 变体 上不可用 但我想使用普通函数 当可用时 编写跨平台库并使用它解决方法如果没有 那么我的库将能够在每个基于 PHP 的 Web 服务