草庐IT

php - 如何仅在 PHP 中使用 str_replace() 删除一定次数的文本?

我试图从字符串中多次删除单词“John”。我在php手册上读到str_replace除了名为“count”的第四个参数。所以我认为可以用来指定应该删除多少个搜索实例。但事实似乎并非如此,因为:$string='HelloJohn,howareyouJohn.JohnareyouhappywithyourlifeJohn?';$numberOfInstances=2;echostr_replace('John','dude',$string,$numberOfInstances);将单词“John”的所有实例替换为“dude”,而不是只替换两次并单独留下其他两个John。就我而言,替换发

php - str_replace + 正则表达式

我有:http://stackoverflow.com/questions/43242&cat=aa&id=342342http://stackoverflow.com/questions/43242&cat=aa&body=434&id=232http://stackoverflow.com/questions/43242&cat=aa&call=2323&id=14143434我想收到:这个没有参数id的链接:http://stackoverflow.com/questions/43242&cat=aahttp://stackoverflow.com/questions/43242

PHP super 怪异警告: illigal string offset while creating a key

我有一个很奇怪的问题。我正在运行一个foreach循环来编译一个数组,但我收到一个错误。我收到以下警告:警告:中的非法字符串偏移'clientaccount_id'对于这行代码:$this->PreparedData[$table][$field]=0;如果我会做这样的事情,我会说这是合乎逻辑的:$testVariable=$this->PreparedData[$table][$field];那么用'clientaccount_id'填充的变量$field将不存在。但是我正在创建字段“clientaccount_id”,所以对我来说这几乎不可能出错。代码privatefunction

php - str_replace 为 strpos?

带有strpos检查的str_replace函数可以避免额外的工作吗?方法一...if(strpos($text,$tofind)!==FALSE)$text=str_replace($tofind,$newreplace,$text);...方法二...$text=str_replace($tofind,$newreplace,$text);...问题:这两种方法都有效,但是......我想知道strpos-checking(或其他)是好方法还是坏方法,无用(和优化反模式)。 最佳答案 您可以保存一些str_replace()调用

php - 使用 php str_getcsv 函数将 csv 文件数据转换为数组

我有类似使用fputcsv创建的字符串Date,Name,Hours2013-01-02,"TestUser",7:592013-01-03,"TestUser",7:532013-01-04,"TestUser",8:122013-01-07,"TestUser",7:562013-01-08,"TestUser",8:252013-01-09,"TestUser",7:562013-01-10,"TestUser",8:102013-01-11,"TestUser",7:532013-01-14,"TestUser",7:542013-01-15,"TestUser",0:3420

php - 将数组 KEY 更改为子数组中的值

这是我数据库的结果集print_r($plan);Array([0]=>Array([id]=>2[subscr_unit]=>D[subscr_period]=>[subscr_fee]=>)[1]=>Array([id]=>3[subscr_unit]=>M,Y[subscr_period]=>1,1[subscr_fee]=>90,1000)[2]=>Array([id]=>32[subscr_unit]=>M,Y[subscr_period]=>1,1[subscr_fee]=>150,1500))如何将$plan[0]更改为$plan[value_of_id]谢谢。

PHP 使用 preg_match 或正则表达式作为 array_search 的值或 array_keys_exist 的键

我想知道是否可以在array_seach()或array_keys_exist中使用正则表达式或preg_match()?即。array_keys_exist($array,"^\d+$")匹配所有纯数字字符的键 最佳答案 我不知道它是否完全符合您的需求,但您应该看看preg_grep函数,它将根据正则表达式检查字符串数组并返回所有匹配的数组元素。您可以对键执行相同操作,方法是在array_keys的返回值上使用preg_grep.这与array_search/array_key_exists在这方面不同,它们在找到匹配项后停止,因

PHP,从关联多维数组中的特定$key中获取$value

我是PHP的新手,我遇到了数组问题。假设我有一个名为$charsarray的多维关联数组,如下所示:[1]=>([name]=>mickey[surname]=>mouse)[2]=>([name]=>donald[surname]=>duck)...[N]=>(...)我需要提取每个条目的“姓氏”字段,以便我的代码嵌套foreach:foreach($charsarrayas$key=>$value){foreach($value=>$singlechar){echo$singlechar}}这会输出mickeymousedonaldduck因为它们是关联数组的值。如果我只想提取姓氏

php - 数组 : store multiple values per key

我曾尝试使用相同的键添加两个值,但没有成功。它覆盖了旧值。是否可以使用相同的键添加多个值,并且在按键检索时,我得到一个链表,我可以迭代该链表以获取所有不同的值? 最佳答案 最简单的选择:无论你在哪里使用$array[$key]=...将其替换为$array[$key][]=... 关于php-数组:storemultiplevaluesperkey,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/qu

php - 将 key=>value 对添加到具有条件的现有数组

我正在尝试将键=>值添加到具有特定值的现有数组。我基本上循环遍历一个关联数组,我想为每个具有特定id的数组添加一个键=>值:例如:[0]=>Array([id]=>1[blah]=>value2)[1]=>Array([id]=>1[blah]=>value2)我想这样做,而foreach($arrayas$arr){while$arr['id']==$some_id{$array['new_key'].=$somevaluethendoaarray_push}}所以$some_value将与特定的id相关联。 最佳答案 while