如何交替显示两个数组的内容?

时间:2015-11-29 20:45:16

标签: php arrays

这是n1

array1

这是array(4) { ["1234"]=> array(5) { ["animal"]=> string(19) "cat" ["name"]=> string(12) "fred" ["food"]=> string(32) "milk" } }

array2

我想交替显示内容。

所以结果应该是:

array(4) {
   ["1234"]=>
   array(5) {
     ["animal"]=>
     string(19) "dog"
     ["name"]=>
     string(12) "sam"
     ["food"]=>
     string(32) "chicken"
   }

困难的是,我从来不知道数组的内容(我只知道cat dog fred sam milk chicken 的键总是匹配array1的键。我可以为每个数组输出一个输出( array2$array1["1234"])但我无法找到有关此主题的任何教程。

1 个答案:

答案 0 :(得分:1)

你可以做一个foreach循环,然后一个接一个地打印:

foreach($array1 as $key => $value){

    foreach($value as $innerKey => $innerValue ){

        echo $array1[$key][$innerKey].PHP_EOL; //or $innerValue
        echo $array2[$key][$innerKey].PHP_EOL; //PHP_EOL just print a newline character

    }

}

在你的例子中你有2维(或者n维,其中n> 1),你可以像这样添加嵌套的foreach循环(保持嵌套直到loops = n):

FILE *ipfileptr;
char wordsInFile[50] = { 0 };

//Open file
fopen_s(&ipfileptr, "Input.txt", "r");

if (ipfileptr == NULL) {
    printf("File does not exist");
}

for (int i = 0; i < 50; i++) {
    fscanf_s(ipfileptr, "%s", &wordsInFile[i]);
    printf("Words in file: %s\n", wordsInFile[i]);
}

//Close file
fclose(ipfileptr);

像这样working example