2010-11-21 4 views
1

다음은 PHP 함수이며 완벽하게 작동합니다.PHP 함수에 도움이 필요합니다. 변수로 값을 전달할 때 작동하지 않습니다.

$values = array(

     'php' => 'php hypertext processor', 

     'other' => array(
      'html' => 'hyper text markup language', 
      'css' => 'cascading style sheet', 
      'asp' => 'active server pages', 
     ) 

); 


function show($id='php', $id2='') { 

    global $values; 

    if(!empty($id2)) { 
     $title = $values[$id][$id2]; 
    } 
    else { 
     $title = $values[$id]; 
    } 

    echo $title; 

} 

난이 <?php show(other,asp); ?>가 활성 서버 페이지를 표시하고 작동,하지만 난 이런 식으로 할 때 그것은 작동하지 않습니다

<?php 

$lang = 'other,asp' 

show ($lang); 

?> 

오류를 보여줍니다., 나 좀 도와주세요 실행하면 여기

PS : 나는 하나의 값을 갖는 변수 (NO 쉼표)

+0

감사합니다. 당신이 제공 한 각 방법은 잘 작동했는데 모든 대답이 정확하다는 것을 표시하는 사람의 대답을 알고 싶지 않습니다. 누구의 답변이 맞는지 누구에게 알려주십시오 - Roccos 0 secs ago 편집 –

답변

3

당신이 아마 폭발 사용해보십시오, 당신이 그것을 가지고있는 방법으로 전달하려는 경우 : 귀하의 답변 모두

function show($id='php') { 

    global $values; 
    $ids = explode(',',$id); 

    if(!empty($ids[1])) { 
     $title = $values[$ids[0]][$ids[1]]; 
    } 
    else { 
      $title = $values[$ids[0]]; 
    } 

    echo $title; 

} 
0

당신은 어떻게 재 작성에 대해 ... 대신 필요한 두 가지 중 하나 문자열을 반환하는을 전달하면 의미가 있습니다 요 대신 그들을 처리하는 UR 함수?

3

한 문자열에 두 개의 변수를 전달할 수 없습니다.

$lang1 = 'other'; 
$lang2 = 'asp'; 

show($lang1, $lang2); 
2

PS : 당신의 캐릭터는 $lang이 vairables로 분할 될 필요가 내가 단일 값 변수 (NO 쉼표)

당신은 값으로 $lang을 할당하는 '를 통과 할 경우 작동 other, asp '를 입력 한 다음 $lang 변수를 show 함수에 전달합니다. $values 배열에 "other, asp"라는 키가 없습니다.

문자열에 쉼표가 있다고해서 매개 변수를 나누는 것은 아니며, 단일 문자열 값을 전달한다는 의미입니다. 당신은 "하나의 값으로 변수를 전달"하는이, 또는 여러 매개 변수 값이 같은 그것을 할 :

 


$lang = "other"; 
$sub_lang = "asp"; 
show ($lang, $sub_lang); 


2

"other,asp"$values에 존재하지 않기 때문에 실패합니다. 즉

, 다음과 같은 평가하기 위해 노력하고있다 :

$title = $values['other,asp']; 

PS, 그것은 오히려 "가 작동하지 않습니다"라는 것보다 실제 오류를 제공하기 위해 항상 유용합니다.

+0

실제 오류는 아무것도 표시하지 않습니다. 그게 다야 ... –

+0

하지만 당신의 질문은 "하지만 내가 이렇게하면 오류를 보여줍니다." – Hamish

2

$ lang이 하나의 인수로 해석되기 때문에 $ id2는 'other, asp'가됩니다. 별도로 함수로 전달해야합니다

$id1 = 'other'; 
$id2 = 'asp'; 

show($id1,$id2); 
관련 문제