0

私は以下にこの機能を持っています:

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' は必要ありません。では、データを null にできるようにしながら、コードをシンプルに保つにはどうすればよいでしょうか? 現在、データが提供されていない場合、オフセット エラーが発生します。

4

2 に答える 2

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));
        }
    }
}?>
于 2012-12-19T16:28:00.303 に答える
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);
        }
    }
}
于 2012-12-19T16:29:01.690 に答える