Array에 저장된 레코드를 기록한 다음 첫 번째 인덱스 위치를 건너 뛰면서 임의의 값을 가져옵니다.

SherwoodPro

데이터베이스에서 단일 레코드를 가져 와서 해당 레코드를 배열에 저장 한 다음 해당 배열에서 임의의 값을 표시 할 수 있기를 원하며, 그 임의의 값은 레코드의 ID 필드이기 때문에 0 인덱스 위치가 될 수 없습니다.

두 개의 테이블이 있습니다. 하나는 questions이고 다른 하나는 입니다 answers. Questions두 개의 필드가 ID있으며 Question. Answers: 10 개 필드가 ID, ANS1, ANS2, ANS3, etc.그래서 Answers와 관련된 Questions자신에 의해를 ID.

기록을 얻으려면 다음을 사용합니다.

$json = array( );
mysql_select_db($database_localhost, $localhost);
$query_getSentence = "SELECT * FROM answers WHERE ID = 13";
$getSentence = mysql_query($query_getSentence, $localhost) or die(mysql_error());
while ( $row_getSentence = mysql_fetch_assoc($getSentence)) {
$json[] = $row_getSentence;
$totalRows_getSentence = mysql_num_rows($getSentence);

따라서을 사용 print_r($json)하면 다음과 같이 표시됩니다.

Array (
    [0] => Array (
        [ID] => 13
        [ANS1] => ducks
        [ANS2] => chickens
        [ANS3] => birds
        [ANS4] => cats
        [ANS5] => dogs
        [ANS6] => elephants
        [ANS7] => monkeys
        [ANS8] => animals 
        [ANS9] => bees
    )
)

이제 이것을 올바르게 이해하면 다음을 사용하여 배열에서 임의의 결과를 얻는다고 생각합니다.

echo $myArray[array_rand($myArray)];

그러나 $json내가 방금 쓴 곳에 넣으면 작동하지 않습니다 $myArray. 을 사용해야한다는 것을 알고 json_encode있지만, 위 코드에 삽입하려는 방법이 아무리 많아도 여전히 아무것도하지 않습니다.

또한 첫 번째 인덱스 (ID 필드)를 건너 뛰기 위해 시도한 방법은 다음과 같습니다.

echo(array_slice($myArray,1,9));

그러면 모든 답변이 반환되고 ID는 제외됩니다. 그러나 다시 한 번,이 모든 것을 작업 코드로 결합하는 방법을 알 수 없습니다. 이 모든 것을 함께 사용하면 올바르게 작동합니까?

자코모 1968

다음 shuffle과 같이 배열에서 첫 번째 항목을 사용 하고 잡는 것은 어떻습니까?

shuffle($myArray)
echo $myArray[0];

그러나 솔직히 당신의 코드는 혼란 스럽습니다. 그렇다면 $jsonJSON이 아닌 배열 의 출력은 무엇 입니까?

echo '<pre>';
print_r($json);
echo '</pre>';

편집 : 원본 포스터의 업데이트 된 질문으로 배열이 구조를 기반으로 다른 배열에 중첩 된 것처럼 보입니다.

Array (
    [0] => Array (
        [ID] => 13
        [ANS1] => ducks
        [ANS2] => chickens
        [ANS3] => birds
        [ANS4] => cats
        [ANS5] => dogs
        [ANS6] => elephants
        [ANS7] => monkeys
        [ANS8] => animals 
        [ANS9] => bees
    )
)

좋아요, 당신이 이것을 할 것이라는 것을 알고 있습니다. $json이 경우 배열 이라고 가정합니다 .

$new_array = array_slice($json[0],1,9);
$random_key = array_rand($new_array);
$final_value = $new_array[$key];

따라서 array_slice에서 항목 1-9를 가져 $json[0]와서 $new_array. 그런 다음 array_rand()에서 임의의 키 값을 가져 오는 데 사용 합니다 $new_array. 이제 최종 값은 다음과 같이 설정 $final_value과 함께 $new_array[$key].

키를 보존하려는 것이 분명하기 때문에 이전에 사용한 array_rand대신 여기에서 사용하고 있습니다 shuffle.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관