从php中的数组中提取值[关闭]
In my code, $return returns an array of data. I am trying to extract the [2] value in that array. For some reason it just returns the whole array instead of the value I am trying to extract. I feel like this is really simple and I am just overlooking something.
Here is my code:
$url = 'https://sandbox.familysearch.org/platform/tree/persons/KWWM-5R1/portrait?access_token=' . $_SESSION['fs-session'];
$return = print_r(get_headers($url));
echo $return[2];
And here is a snip from the array that was printed:
Array ( [0] => HTTP/1.1 307 Temporary Redirect [1] => Server: Apache-Coyote/1.1 [2] => Location: https://integration.familysearch.org/sandbox/v2/TH-501-48051-27-34/thumb200.jpg?ctx=ArtCtxPublic )
How can I get the [2] value?
Try getting rid of the print_r
:
$return = get_headers($url);
echo $return[2];
print_r
is a function used to print out information from a variable (in the case of your array, its contents). You're setting $return
equal to the return value of print_r
(which is just true
), rather than the headers array you want.
Like this:
$url = 'https://sandbox.familysearch.org/platform/tree/persons/KWWM-5R1/portrait?access_token=' . $_SESSION['fs-session'];
$return = get_headers($url);
echo $return[2];
$return = print_r(get_headers($url));
should be $return =get_headers($url);
What you are seeing on screen is the result of the print_r()
. This does not return an array to be assigned to $return
instead it is just printing it in the screen.
So technically your $return
does not have any value and your echo statement is actually not echoing anything.