标签: php

如何在php中删除字符串中的所有空格?

可能重复:
在PHP中去除变量内的空格

我怎么能剥夺/删除所有空格一个的字符串在PHP?

我有一个像 输出应该是 的字符串$string = "this is my string";"thisismystring"

我怎样才能做到这一点?

php string spaces

593
推荐指数
4
解决办法
108万
查看次数

存储PHP数组的首选方法(json_encode vs serialize)

我需要在平面文件中存储多维关联数据数组以用于缓存目的.我偶尔会遇到将其转换为JSON以便在我的Web应用程序中使用的需要,但绝大多数时候我将直接在PHP中使用该数组.

将数组作为JSON或PHP序列化数组存储在此文本文件中会更有效吗?我环顾四周,似乎在最新版本的PHP(5.3)中,json_decode实际上比它更快unserialize.

我目前倾向于将数组存储为JSON,因为我觉得如果有必要,人们可以更容易地阅读它,它可以在PHP和JavaScript中轻松使用,而且从我读过的,它甚至可能是更快解码(不确定编码).

有谁知道任何陷阱?任何人都有良好的基准来展示这两种方法的性能优势?

php arrays performance serialization json

590
推荐指数
12
解决办法
18万
查看次数

查找两个日期之间的天数

如何使用PHP查找两个日期之间的天数?

php datetime

589
推荐指数
13
解决办法
75万
查看次数

致命错误:允许的内存大小为134217728 Bytes Exhausted(CodeIgniter + XML-RPC)

我有一堆客户销售点(POS)系统,它定期将新的销售数据发送到一个集中数据库,该数据库将数据存储到一个大数据库中以生成报告.

客户端POS基于PHPPOS,我已经实现了一个使用标准XML-RPC库将销售数据发送到服务的模块.服务器系统基于CodeIgniter构建,并使用XML-RPC和XML-RPCS库作为Web服务组件.每当我发送大量销售数据(销售表中只有50行,以及sales_items中与销售中每个项目相关的各行)时,我会收到以下错误:

Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 54 bytes)
Run Code Online (Sandbox Code Playgroud)

128M是默认值php.ini,但我认为这是一个很大的数字.实际上,我甚至尝试将此值设置为1024M,而它所做的只是花费更长的时间来输出错误.

至于我采取的步骤,我已经尝试禁用服务器端的所有处理,并且已经操纵它以返回固定响应而不管输入如何.但是,我认为问题在于实际发送数据.我甚至尝试禁用PHP的最大脚本执行时间,但它仍然出错.

php memory codeigniter xml-rpc memory-limit

587
推荐指数
21
解决办法
132万
查看次数

如何将var_dump的结果捕获到字符串?

我想捕获var_dump一个字符串的输出.

PHP文档说;

与将结果直接输出到浏览器的任何内容一样,输出控制函数可用于捕获此函数的输出,并将其保存在字符串中(例如).

有人能给我一个如何运作的例子吗?

print_r() 不是一个有效的可能性,因为它不会给我提供我需要的信息.

php string var-dump

583
推荐指数
9
解决办法
33万
查看次数

在PHP中使用前导零格式化数字

我有一个包含值的变量1234567.

我希望它包含8个数字,即01234567.

那有PHP功能吗?

php format numbers

568
推荐指数
8
解决办法
49万
查看次数

如何在PHP中获取有用的错误消息?

我觉得用PHP编程非常令人沮丧.我经常尝试运行脚本,然后再回一个空白屏幕.没有错误消息,只是空屏幕.原因可能是一个简单的语法错误(错误的括号,缺少分号),或者函数调用失败,或其他完全错误.

弄清楚出了什么问题是非常困难的.我最终评论出代码,在任何地方输入"echo"语句等等,试图缩小问题范围.但肯定有一个更好的方法,对吗?

那么,有没有办法让PHP产生像Java那样有用的错误信息呢?任何人都可以推荐良好的PHP调试技巧,工具和技术?

php debugging error-handling

563
推荐指数
28
解决办法
57万
查看次数

PHP中的@符号有什么用?

我见过@某些功能的使用,如下所示:

$fileHandle = @fopen($fileName, $writeAttributes);
Run Code Online (Sandbox Code Playgroud)

这个符号有什么用?

php error-suppression operators

557
推荐指数
8
解决办法
22万
查看次数

用PHP打印JSON

我正在构建一个PHP脚本,将JSON数据提供给另一个脚本.我的脚本将数据构建为一个大的关联数组,然后使用输出数据json_encode.这是一个示例脚本:

$data = array('a' => 'apple', 'b' => 'banana', 'c' => 'catnip');
header('Content-type: text/javascript');
echo json_encode($data);
Run Code Online (Sandbox Code Playgroud)

上面的代码产生以下输出:

{"a":"apple","b":"banana","c":"catnip"}
Run Code Online (Sandbox Code Playgroud)

如果您有少量数据,这很好,但我更喜欢这些内容:

{
    "a": "apple",
    "b": "banana",
    "c": "catnip"
}
Run Code Online (Sandbox Code Playgroud)

有没有办法在没有丑陋黑客的情况下在PHP中执行此操作?好像Facebook的某个人想出来了.

php json pretty-print

550
推荐指数
19
解决办法
48万
查看次数

我可以将数组绑定到IN()条件吗?

我很想知道是否可以使用PDO将值数组绑定到占位符.这里的用例试图传递一个值数组以用于IN()条件.

我希望能够做到这样的事情:

<?php
$ids=array(1,2,3,7,8,9);
$db = new PDO(...);
$stmt = $db->prepare(
    'SELECT *
     FROM table
     WHERE id IN(:an_array)'
);
$stmt->bindParam('an_array',$ids);
$stmt->execute();
?>
Run Code Online (Sandbox Code Playgroud)

并让PDO绑定并引用数组中的所有值.

目前我正在做:

<?php
$ids = array(1,2,3,7,8,9);
$db = new PDO(...);
foreach($ids as &$val)
    $val=$db->quote($val); //iterate through array and quote
$in = implode(',',$ids); //create comma separated list
$stmt = $db->prepare(
    'SELECT *
     FROM table
     WHERE id IN('.$in.')'
);
$stmt->execute();
?>
Run Code Online (Sandbox Code Playgroud)

这当然能完成这项工作,但只是想知道是否有一个内置的解决方案我缺席了?

php arrays pdo prepared-statement where-in

549
推荐指数
17
解决办法
20万
查看次数