首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何使我的php数组数据持久化?

如何使我的php数组数据持久化?
EN

Stack Overflow用户
提问于 2016-05-18 01:52:39
回答 1查看 754关注 0票数 0

当我在foreach循环中查询数据时,它可以工作,但在循环中的每一次传递中都会重复。我尝试在循环之外的任何其他地方使用var_dump,而数据却不在那里。为什么我的数据不存在于forEach循环之外?

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    <?php


    $old_array = [10-2, 13=>"3452", 4=>"Green", 
5=>"Green", 6=>"Blue", "green"=>"green",
 "two"=>"green" ,"2"=>"green" , "rulebreak" =>"GrEeN", 
"ninja"=>"   Green ", ["blue" => "green", "green"=>"green", 2  => "itsGreen"] ];

$newArray = array();

function filter_Green($array) {



$find = "green";
$replace = "not green";

/* Same result as using str_replace on an array, but does so recursively for multi-dimensional arrays */
/* found here: 

if (!is_array($array)) {
  /* Used ireplace so that searches can be case insensitive */
  return str_ireplace($find, $replace, $array);
}


foreach ($array as $key => $value) {

  $newArray[$key] = $value;
  if ($key == "green") {
    $newArray[$key] = "not green";
  }
  if ($value == "green") {
    $newArray[$value] = "not green";
  }


}

return $newArray;

}

filter_Green($old_array);

    var_dump($newArray);
?>

期望:当我运行这个函数时,它应该将"green“的所有实例替换为"not”,并将这些实例保存到$newArray中。我让它返回$newArray,但即使这样,它似乎也与将值保存到newArray中的情况不匹配,因此我要做var_dump来检查它是否工作(似乎不起作用)。

结果:在设置过程中,如果我将var_dump($newArray)移动到foreach循环中,那么返回给var_dump的空数组似乎有点工作,但这会重复每次传递的数据。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-18 02:07:09

如果要将var_dump $newArray放在函数的一边,则应在函数中声明$newArrayglobal

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?php


$old_array = [10-2, 13=>"3452", 4=>"Green", 5=>"Green", 6=>"Blue", "green"=>"green", "two"=>"green" ,"2"=>"green" , "rulebreak" =>"GrEeN", "ninja"=>"   Green ", ["blue" => "green", "green"=>"green", 2  => "itsGreen"] ];

$newArray = array();

function filter_Green($array) {
global $newArray;


$find = "green";
$replace = "not green";

/* Same result as using str_replace on an array, but does so recursively for multi-dimensional arrays */

if (!is_array($array)) {
  /* Used ireplace so that searches can be case insensitive */
  return str_ireplace($find, $replace, $array);
}


foreach ($array as $key => $value) {

  $newArray[$key] = $value;
  if ($key == "green") {
    $newArray[$key] = "not green";
  }
  if ($value == "green") {
    $newArray[$value] = "not green";
  }


}

return $newArray;

}

filter_Green($old_array);
var_dump($newArray);

?>

但是,不要在函数中声明global,而是使用filter_Green($old_array);返回的值,如下所示

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$result = filter_Green($old_array);
var_dump($result);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37296078

复制
相关文章
PHP中的数据库连接持久化
数据库的优化是我们做web开发的重中之重,甚至很多情况下其实我们是在面向数据库编程。当然,用户的一切操作、行为都是以数据的形式保存下来的。在这其中,数据库的连接创建过程有没有什么可以优化的内容呢?答案当然是有的,Java等语言中有连接池的设定,而PHP在普通开发中并没有连接池这种东西,在牵涉到多线程的情况下往往才会使用连接池的技术,所以PHP每次运行都会创建新的连接,那么这种情况下,我们如何来优化数据连接呢?
硬核项目经理
2020/07/31
2.7K0
php持久化连接数据库
php的持久化数据库连接已经不是一个新鲜的名词了,由于php语言生命周期的问题,如果每次连接数据库都重新打开一个连接会很低效,所以引入了长连接机制(应该是实现在sapi部分,例如cli sapi就不支持db长连接),本文探究apache2handler sapi和 fpm sapi是否支持db长连接.使用方法以pdo为例在实例化pdo对象时传入: PDO::ATTR_PERSISTENT => true 即可实现长连接,但是隐约在哪里听说过在apache下由于是以线程的方式执行,所以连接在线程关闭时也会释放
码农二狗
2018/06/29
2K0
数据持久化
数据持久化是将内存中的数据转换为存储模型,以及存储模型转换为内存中的数据模型的统称。数据模型可以是任何数据结构或对象模型。存储模型可以使关系模型、XML、二进制流等。cmp和Hibernate只是对象模型到关系模型之间转换的不同实现。
全栈程序员站长
2022/06/30
3540
Redis的数据持久化
根据服务器是否启用了 AOF 持久化功能, 服务器载入数据时所使用的目标文件会有所不同:
真正的飞鱼
2022/12/20
4000
Redis持久化(Persistence):了解如何配置redis的持久化。
在默认情况下, Redis 将数据库快照保存在名字为 dump.rdb的二进制文件中。你可以对 Redis 进行设置, 让它在“ N 秒内数据集至少有 M 个改动”这一条件被满足时, 自动保存一次数据集。你也可以通过调用 SAVE或者 BGSAVE , 手动让 Redis 进行数据集保存操作。
须臾之余
2019/11/27
1.8K0
Redis持久化(Persistence):了解如何配置redis的持久化。
Redis的数据持久化
主从同步数据选择的方式-----数据持久化操作  Redis在正常关闭时触发rdb操作
星哥玩云
2022/08/18
3540
Redis数据持久化
随着AOF不断地记录写操作日志,因为所有的操作都会记录,所以必定会出现一些无用的日志。大量无用的日志会让AOF文件过大,也会让数据恢复的时间过长。不过Redis提供了AOF rewrite功能,可以重写AOF文件,只保留能够把数据恢复到最新状态的最小写操作集。
Autooooooo
2020/11/09
7030
Redis数据持久化
Redis数据持久化
可以在指定的时间间隔内生成数据集的时间点快照(point-in-time snapshot)。
DB之路
2021/03/07
7220
Redis 数据持久化
Redis支持两种数据持久化方式:RDB方式和AOF方式。前者会根据配置的规则定时将内存中的数据持久化到硬盘上,后者则是在每次执行写命令之后将命令记录下来。两种持久化方式可以单独使用,但是通常会将两者结合使用。
星哥玩云
2022/09/15
1.3K0
Redis 数据持久化
nacos数据持久化
持久化:管理的配置信息持久化。 注意:默认nacos存在配置信息持久化,默认的持久化方式为内嵌数据库derby(无法友好的展示数据)。
别团等shy哥发育
2023/02/25
9100
nacos数据持久化
应用PMDK修改WAL操作使之适配持久化内存
这几个补丁能够通过使用PMDK对存储在持久化内存PMEM上的WAL日志进行读写。PMEM是下一代存储介质,具有一系列特性:快速、字节寻址、非易失。
yzsDBA
2020/10/28
8780
redis 数据持久化
Redis支持RDB和AOF两种持久化机制,持久化功能有效地避免因进程退出造成的数据丢失问题,当下次重启时利用之前持久化的文件即可实现数据恢复。 RDB持久化 RDB持久化是把当前进程数据生成快照保存到硬盘的过程,触发RDB持久化过程分为手动触发和自动触发。 手动触发数据持久化
小手冰凉
2020/07/27
5500
iOS数据持久化
// // AppDelegate.m // // import "AppDelegate.h" import "Person.h" @interface AppDelegate () @end @implementation AppDelegate (void)dealloc { [_window release]; [super dealloc]; } (BOOL)application:(UIApplication )application didFinishLaunchingWith
大师级码师
2021/10/29
5240
redis的数据持久化方案
Redis的持久化方案有两种 1.Rdb方式:快照形式,定期将内存中的数据持久化到硬盘。是Redis默认的数据持久化的形式。 Rdb:缺点是:数据还没有更新到磁盘上,突然断电,造成数据的不完整性。 在
用户2146856
2018/05/18
8560
Redis 数据持久化?-----意外宕机如何避免数据丢失
我们在实际应用生产中,大部分公司会把 Redis 当做缓存使用,用它来把后端数据库中的数据存储在内存中,然后直接从内存中直接读取数据,这样会使这个程序响应速度变得非常快。但是一旦服务器宕机,那么内存中的数据将全部丢失?
张琳兮
2020/12/18
2.1K0
Redis 数据持久化?-----意外宕机如何避免数据丢失
Redis 数据持久化?-----意外宕机如何避免数据丢失
我们在实际应用生产中,大部分公司会把 Redis 当做缓存使用,用它来把后端数据库中的数据存储在内存中,然后直接从内存中直接读取数据,这样会使这个程序响应速度变得非常快。但是一旦服务器宕机,那么内存中的数据将全部丢失?
张琳兮
2020/12/14
1.1K0
React Native的数据持久化
前言 在数据驱动的开发中,数据的缓存是非常重要的一环。我们从网络或其他地方获取了数据,如果每次用完就抛弃势必会浪费CPU的性能和用户的流量。因此,我们需要对数据进行持久化处理。 介绍 React Native中提供了AsyncStorage类用于持久化的处理数据。 相关资料reactnative.cn 由于AsyncStorage接口比较复杂,社区中出现了不少基于AsyncStorage的封装库,我们今天就使用了其中一款——react-native-storage code import Storage
Oceanlong
2018/07/03
2.1K0
Innodb如何实现事务的持久化
先写redo log(同时写Log Sequence Number,简称LSN),redo log是逻辑和物理结合的日志,使用物理的方式定位到数据页,页内操作是逻辑的,所以为了保证数据的一致性,需要使用double write技术
十毛
2021/07/29
6200
docker容器数据持久化
"Failure is success if you learn from it.—— 作者未知"
小闫同学啊
2020/03/11
4.3K0
点击加载更多

相似问题

QBChatDialog数据不是持久的。如何使QBChatDialog数据持久化?

10

引用PHP数组持久化

10

使产品id持久化的PHP会话?

33

持久化php数据收集

15

如何使Settings.settings数据持久化

20
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文