我有以下功能:
public function set_partial($array)
{
if (is_array($array)) {
foreach ($array as $each) {
self::$_partials[$each[0]] = array('view' => $each[1], 'data' => $each[2]);
}
}
}
在self :: $ _ partials中,不需要'data'。那么如何在允许数据为空的情况下保持代码简单呢?现在,如果没有提供数据,那么我会得到偏移误差。
答案 0 :(得分:1)
您可以查看each[2]
是否已设置。如果是,则设置变量,否则使其为null:
<?php
public function set_partial($array){
if(is_array($array)){
foreach ($array as $each) {
self::$_partials[$each[0]] = array('view' => $each[1], 'data' => (isset($each[2])?$each[2]:NULL));
}
}
}?>
答案 1 :(得分:0)
如果您想避免偏移错误,可以执行以下操作:
public function set_partial($array)
{
if (is_array($array)) {
foreach ($array as $each) {
$view = !empty($each[1]) ? $each[1] : ''; // replace '' with whatever default value you want to use
$data = !empty($each[2]) ? $each[2] : '';
self::$_partials[$each[0]] = array('view' => $view, 'data' => $data);
}
}
}