3

プロジェクトで配列操作を簡単にする関数を作成しようとしています。

参照渡しでやりたい。より生産的でリソースを節約する方法になることを願っています。

function add_element ($element=array(),&$data) {
    if(!empty($data)) {
      $data += $element;
    }
    return true;
  }

// $element can be array('one','two') or array('color'=>'blue','type'=>'card')

私は参照の経験がありません。ヒントをありがとう。

4

4 に答える 4

1
function add_element($element=array(), &$data) {
    if(!empty($element) && !empty($data)) {
      $data = array_merge($data, $element);
    }
    return true;
}

$test = array(0=>'zero');
add_element(array(1=>'one'), $test);
print_r($test);
于 2013-10-14T16:55:38.110 に答える
1

これはあなたが探している効果があると信じています。元の配列を参照として渡し、渡したデータを元の配列に追加します。

function add_element (&$original_array = array(), $data) {

  // Cast an array if it isn't already
  !is_array($data) ? (array)$data : null;

  if(!empty($data)) {
    $original_array = $original_array + $data;
  }
  return true;
}

$names_array = array("first_name" => "bob");
$data_to_add = array("second_name" => "fred");

// Add new variable
add_element($names_array, $data_to_add);

// Show the contents
print_r($names_array);

ここでライブをご覧ください:http ://www.tehplayground.com/#DJXofIeQK

ただし、あなたが投稿したものを出発点として取り上げました。上記は基本的に次のものと同じで、特別な機能は必要ありません。

$names_array = array("first_name" => "bob");
$data_to_add = array("second_name" => "fred");

// Add new variable
$names_array = $names_array + $data_to_add;

// Show the contents
print_r($names_array);

こちらをご覧ください:http ://www.tehplayground.com/#PAbhOHaPT

于 2013-10-14T16:49:09.150 に答える