【发布时间】:2016-08-18 05:48:49
【问题描述】:
$data = file_get_contents($file);
$fexplode = explode(PHP_EOL, $data);
foreach ($fexplode as $uline) {
foreach (unserialize($uline) as $item => $value){
echo $item . " : ";
echo $value;
}
}
运行此代码时在我的页面上收到“警告:为 foreach() 提供的参数无效”警告
【问题讨论】:
-
你试过 print_r($fexplode) 吗?它是在打印一个数组吗?
-
@VikrantVirBhalla 当我使用 print_r($fexplode);它给了我这个数组( [0] => a:3:{s:8:"Player 1";s:7:"Scissor";s:8:"Player 2";s:6:"Lizard"; s:7:"结果";s:36:"Scissor 击败蜥蜴。玩家 1 获胜!";} [1] => a:3:{s:8:"玩家 1";s:6:"蜥蜴" ;s:8:"玩家 2";s:5:"Spock";s:7:"结果";s:34:"蜥蜴击败 Spock。玩家 1 获胜!";} [2] => a:3 :{s:8:"玩家 1";s:4:"摇滚";s:8:"玩家 2";s:4:"摇滚";s:7:"结果";s:5:"抽奖!";} 看来反序列化不是反序列化所有数据,而是反序列化部分数据?
-
@VikrantVirBhalla 如果我在反序列化后 print_r 它会给我这个 a:3:{s:8:"Player 1";s:6:"Lizard";s:8:"Player 2"; s:5:"Spock";s:7:"Results";s:34:"Lizard 击败 Spock。玩家 1 获胜!";}
标签: php serialization foreach