2010-11-29 6 views
1

나는 다음과 같이 데이터베이스에 항목을 추가하는 기능, 내가 지금 가지고있는 코드가있다 : 나는, 동일한 기능을 사용하고 싶지 무엇PHP - 추가 여러 데이터베이스 항목

function create_internal_role($rolename, $rolekey) 
{ 
    $data = array(
     'name' => $rolename, 
     'key' => $rolekey.'1' 
    ); 
    if (!is_null($res = $this->ci->internal_roles->create_role($data))) { 
     return $data; 
    } 

    return NULL; 
} 

$ rolekey 뒤에 2와 3을 가진 또 다른 2 개의 데이터 배열을 추가하여 하나의 함수로 3 개의 많은 데이터 (rolekey1, rolekey2 및 rolekey3)를 추가하십시오.

어떻게 처리할까요? 당신의 구조에 대한 당신의 질문의 현재 말씨에서 알고 밖으로

답변

1

은 명백한 대답이 될 것 같다 :

function create_internal_role($rolename, $rolekey) 
{ 
    $ret = array(); 
    $data = array(
     'name' => $rolename, 
     'key' => $rolekey.'1' 
    ); 
    if (!is_null($res = $this->ci->internal_roles->create_role($data))) { 
     $ret[] = $data; 
    } 
$data = array(
      'name' => $rolename, 
      'key' => $rolekey.'2' 
     ); 
     if (!is_null($res = $this->ci->internal_roles->create_role($data))) { 
      $ret[] = $data; 
     } 
$data = array(
      'name' => $rolename, 
      'key' => $rolekey.'3' 
     ); 
     if (!is_null($res = $this->ci->internal_roles->create_role($data))) { 
      $ret[] = $data; 
     } 

     return $ret; 
    } 

당신이 당신의 질문에 대한 자세한 정보를 제공하는 경우, 내가 줄 수 있습니다 너 더 나은 대답이야.

+0

를 그냥 희망 영업 이익은 당신에게 더 많은 정보를 :) 제공 – Gordon

0

아마도이 같은 작동합니다 :

function create_internal_role($rolename, $rolekey) 
{ 
    // define role key indecies 
    $indexArray = array(1,2,3); 
    $ret = array(); // return array 

    // create roles 
    for(i=0; i<count($indexArray); $i++){ 
     $data = array(
      'name' => $rolename, 
      'key' => $rolekey.indexArray[$i] 
     ); 

     if (!is_null($res = $this->ci->internal_roles->create_role($data))) { 
      $ret[] = $data; 
     }else{ 
      $ret[] = null; 
     } 
    } 

    return $ret; 
}