How get a value of my array in php? [duplicate] - php

This question already has answers here:
How can I access an array/object?
(6 answers)
Closed 7 years ago.
This is my array:
array(3) {
["formData"]=>
array(25) {
["Contact.Name.First"]=>
object(stdClass)#17 (2) {
["value"]=>
string(31) "POLIANA KRUSCHER PISCOLLE"
["required"]=>
bool(true)
}
["Contact.CustomFields.c.new_cpf"]=>
object(stdClass)#21 (2) {
["value"]=>
string(14) "038.889.971-99"
["required"]=>
bool(true)
}
}
How can I retrieve value in Contact.CustomFields.c.new_cpf?
I tried $incident_data['Contact.CustomFields.c.new_cpf']['value'], but it returns null.

Try this way:
$incident_data['formData']['Contact.CustomFields.c.new_cpf']->value;

Your $incident_data['formData']['Contact.CustomFields.c.new_cpf'] does not contain an array yet you try to access it as such.
Since there is no such key php defaults to null. (Yet there also should be an undefined index notice thrown around. You may want to enhance your error logging / strictness level).
As by your dump you have an of the \stdClass class, you have to treat them as such:
$object->value

Related

Extract a string from an object inside an array: PHP [duplicate]

This question already has answers here:
How can I access an array/object?
(6 answers)
Closed 5 years ago.
I'm writing a PHP plugin and need to extract a string from an object which is inside an array.
var_dump($data)
outputs:
array(1) {
[0]=> object(stdClass)#380 (53) {
["id"]=> string(1) "2"
["firstname"]=> string(6) "John"
["lastname"]=> string(6) "Doe"
["email"]=> string(31) "johndoe#email.com"
}
}
I want to return:
johndoe#mail.com
My research has turned up functions such as unserialize, array_map, array_slice, and array_column, but I haven't found the right function or combination of functions that work together (nor do I understand them enough) to just return a simple string from an object inside an array. Can anyone provide me with some guidance?
Edit: This isn't the same question as the one referenced as "the exact same question." The other one asks simply how to access an array (answer: $array[0]), and my question asked how to access an object INSIDE an array (answer: $array[0]->text).
For example:
$data[0]->firstname
Maybe:
$arr = get_object_vars($data[0]);
$arr['firstname'];
Example:
$obj = (object) array('x' => 'foo');
$arr = [$obj];
print($arr[0]->x);
You will get: foo

PHP reading array [duplicate]

This question already has answers here:
How can I access an array/object?
(6 answers)
Closed 6 years ago.
I need to get "bar" from this:
array(1) { [1]=> array(2) { ["id"]=> string(4) "8097" ["content"]=> string(3) "bar" } }
Is there any way to do it? (the code is from var_dump).
Since I don't know why you want "bar" specifically (i.e., is it just the 'content' of the element with index [1]?) I'll suggest simply:
echo $your_array[1]['content'];
try array_search('what you want to search','Where you want to search')

How do I acces this property/element of this object/array? [duplicate]

This question already has answers here:
How to access object properties with names like integers or invalid property names?
(7 answers)
Closed 6 years ago.
I'm trying to access a property of a stdClass but it's named after an index or something? I'm at a loss here, I would really appreciate some insight into how I can get at my data.
Thanks in advance,
object(stdClass)#79 (96) {
["0"]=> <------this is what I'm trying to access
array(1) {
[0]=>
object(stdClass)#80 (5) {
["m_id"]=>
string(3) "422"
["klplan_id"]=>
string(3) "945"
["m_naam"]=>
string(62) "opsporen lekkage vanuit badkamer/kitten bad rand /parkeren/kit"
["m_aantal"]=>
string(1) "1"
["m_prijs"]=>
string(4) "7.25"
}
}
This should do it:
$class->{'0'}

Getting stdclass and array values in PHP [duplicate]

This question already has answers here:
Return PHP object by index number (not name)
(5 answers)
Closed 7 years ago.
How do I access the following stdclass, and echo Transaction ID has already been used.
object(stdClass)#2 (1) {
["SendBulkSMS_PHPResult"]=>
object(stdClass)#3 (1) {
["string"]=>
array(3) {
[0]=>
string(1) "0"
[1]=>
string(37) "Transaction ID has already been used."
[2]=>
NULL
}
}
}
From the look of it, it would be:
$object->SendBulkSMS_PHPResult->string[1];

php period in object name [duplicate]

This question already has answers here:
Closed 10 years ago.
Possible Duplicate:
php object attribute with dot in name
I'm dealing with PHP, getting an object returned by a Microsoft web service, and there is a period in the object name!
object(stdClass)#22 (1) {
["DAE.Country"]=>
array(24) {
[0]=>
object(stdClass)#23 (2) {
["CountryName"]=>
string(4) "Asia"
["ID"]=>
string(2) "27"
}
}
}
How do I access an object in PHP with a period in its name?
$response->DAE_GetCountryListResult->DAE.Country;
and
$response->DAE_GetCountryListResult-['DAE.Country'];
both fail. Thank you for your time.
You can use this syntax to access the property you want:
$obj->{'DAE.Country'}
You can also use a variable and expressions inside the braces:
$prefix = 'DAE';
$name = 'Country';
$another_obj = $obj->{"$prefix.$name"};

Categories