有时我需要在数组中创建键,如果它不存在。
例如:
$dataAgent['Paul'] = array('Sale' => 4,'Conv' => 1.5);
$dataAgent['Bill'] = array('Sale' => 6,'Conv' => 5.5);
$dataAgent['Tom'] = array('Sale' => 1);
$dataAgent['Jake'] = array('Sale' => 6,'Conv' => 10.5);$dataAgent['Tom']数组中缺少'Conv'密钥。
我使用下面的代码来检查'Conv'密钥‘是否存在:
foreach($dataAgent as &$agent) {
if (!isset($agent['Conv'])) {
$agent['Conv'] = 0;
}
}有没有替代foreach和更好的可读性的方法?
发布于 2014-02-11 20:33:59
您将不得不以某种方式遍历数组,键不会同时神奇地出现在所有元素中。你可以用不同的方式装扮你的手术。我最喜欢的可能是:
$dataAgent = array_map(function (array $data) { return $data + array('Conv' => 0); }, $dataAgent);注意,+操作符使得这里不需要使用isset。
发布于 2014-02-11 20:42:40
以下是解决方案:
function your_function($value,$key) { //将您的逻辑放在此处。}
有关更多信息,请访问:http://in3.php.net/array_walk
https://stackoverflow.com/questions/21701921
复制相似问题