Reputation: 8836
I have this array
Array
(
[data] => Array
(
[0] => Array
(
[page_id] => 204725966262837
[type] => WEBSITE
)
[1] => Array
(
[page_id] => 163703342377960
[type] => COMMUNITY
)
)
)
How can I just echo the content without this structure?
I tried
foreach ($results as $result) {
echo $result->type;
echo "<br>";
}
Upvotes: 308
Views: 1450736
Reputation: 41
If you only need echo 'type' field, you can use function 'array_column' like:
$arr = $your_array;
echo var_dump(array_column($arr['data'], 'type'));
Upvotes: 1
Reputation: 507
Human-readable (for example, can be logged to a text file...):
print_r($arr_name, TRUE);
Upvotes: 9
Reputation: 905
You can use var_dump() function to display structured information about variables/expressions, including its type and value, or you can use print_r() to display information about a variable in a way that's readable by humans.
Example: Say we have got the following array, and we want to display its contents.
$arr = array ('xyz', false, true, 99, array('50'));
Array
(
[0] => xyz
[1] =>
[2] => 1
[3] => 99
[4] => Array
(
[0] => 50
)
)
array(5) {
[0]=>
string(3) "xyz"
[1]=>
bool(false)
[2]=>
bool(true)
[3]=>
int(100)
[4]=>
array(1) {
[0]=>
string(2) "50"
}
}
The functions used in this answer can be found on the PHP documentation website, var_dump() and print_r().
For more details:
Upvotes: 8
Reputation: 2614
I checked the answers, however, (for each) in PHP it is deprecated and no longer works with the latest PHP versions.
Usually, we would convert an array into a string to log it somewhere, perhaps debugging, test, etc.
I would convert the array into a string by doing:
$Output = implode(",", $SourceArray);
Whereas:
$output is the result (where the string would be generated
",": is the separator (between each array field).
$SourceArray: is your source array.
Upvotes: 4
Reputation: 21489
There are multiple functions for printing array content that each has features.
print_r()
Prints human-readable information about a variable.
$arr = ["a", "b", "c"];
echo "<pre>";
print_r($arr);
echo "</pre>";
Array
(
[0] => a
[1] => b
[2] => c
)
var_dump()
Displays structured information about expressions that includes its type and value.
echo "<pre>";
var_dump($arr);
echo "</pre>";
array(3) {
[0]=>
string(1) "a"
[1]=>
string(1) "b"
[2]=>
string(1) "c"
}
var_export()
Displays structured information about the given variable that returned representation is valid PHP code.
echo "<pre>";
var_export($arr);
echo "</pre>";
array (
0 => 'a',
1 => 'b',
2 => 'c',
)
Note that because the browser condenses multiple whitespace characters (including newlines) to a single space (answer), you need to wrap above functions in <pre></pre>
to display result in thee correct format.
Also, there is another way to print array content with certain conditions.
echo
Output one or more strings. So if you want to print array content using echo
, you need to loop through the array and in the loop use echo
to print array items.
foreach ($arr as $key=>$item){
echo "$key => $item <br>";
}
0 => a
1 => b
2 => c
Upvotes: 58
Reputation: 123
Loop through and print all the values of an associative array, You could use a foreach
loop, like this:
foreach($results as $x => $value) {
echo $value;
}
Upvotes: -3
Reputation: 1406
If you want a parsable PHP representation, you could use:
$parseablePhpCode = var_export($yourVariable,true);
If you echo the exported code to a file.php (with a return statement) you may require it as
$yourVariable = require('file.php');
Upvotes: 3
Reputation: 2782
You can use print_r
, var_dump
and var_export
functions of PHP:
print_r
: Convert into human-readable form
<?php
echo "<pre>";
print_r($results);
echo "</pre>";
?>
var_dump()
: will show you the type of the thing as well as what's in it.
var_dump($results);
foreach loop
: using a for each loop, you can iterate each and every value of an array.
foreach($results['data'] as $result) {
echo $result['type'] . '<br>';
}
Upvotes: 35
Reputation: 187
You don’t have any need to use a for loop to see the data into the array. You can simply do it in the following manner:
<?php
echo "<pre>";
print_r($results);
echo "</pre>";
?>
Upvotes: 8
Reputation: 3483
If you just want to know the content without a format (e.g., for debugging purposes) I use this:
echo json_encode($anArray);
This will show it as a JSON which is pretty human-readable.
Upvotes: 148
Reputation: 25745
To see the contents of array you can use:
print_r($array);
or if you want nicely formatted array then:
echo '<pre>'; print_r($array); echo '</pre>';
Use var_dump($array)
to get more information of the content in the array like the datatype and length.
You can loop the array using php's foreach();
and get the desired output. More info on foreach is in PHP's documentation website: foreach
Upvotes: 625
Reputation: 4922
foreach($results['data'] as $result) {
echo $result['type'], '<br />';
}
or echo $results['data'][1]['type'];
Upvotes: 18
Reputation: 57650
This will do
foreach($results['data'] as $result) {
echo $result['type'], '<br>';
}
Upvotes: 156