संभव डुप्लिकेट वस्तु में कनवर्ट कर रहा:
Casting an Array with Numeric Keys as an Objectएक अनुक्रमित सरणी
मैं (object)
के बारे में प्रकार कास्टिंग सोच रहा था।
यह एक वस्तु के लिए एक साहचर्य सरणी परिवर्तित करने की तरह है, उपयोगी के लिए बहुत कुछ करना संभव नहीं है, और कुछ तो उपयोगी और थोड़ा अजीब (IMHO) बातें, converting a scalar value to object की तरह नहीं।
लेकिन मैं अनुक्रमित सरणी के कास्टिंग के परिणाम तक कैसे पहुंच सकता हूं?
// Converting to object an indexed array
$obj = (object) array('apple', 'fruit');
एक विशिष्ट मूल्य तक पहुंचने के बारे में कैसे?
print $obj[0]; // Fatal error & doesn't have and any sense
print $obj->scalar[0]; // Any sense
print $obj->0; // Syntax error
print $obj->${'0'}; // Fatal error: empty property.
print_r(get_object_vars($obj)); // Returns Array()
print_r($obj); /* Returns
stdClass Object
(
[0] => apple
[1] => fruit
)
*/
निम्नलिखित काम करता है क्योंकि stdClass
लागू गतिशील Countable
और ArrayAccess
:
foreach($obj as $k => $v) {
print $k . ' => ' . $v . PHP_EOL;
}
उत्तर देने के लिए धन्यवाद। मुझे पता है कि यह गंदे है और मैं कभी भी अनुक्रमित सरणी नहीं डालूंगा ... लेकिन मैं उत्सुक हूं :-) मैं ऐसा करने के लिए _clean_ तरीका ढूंढ रहा था, सिर्फ एक कामकाज नहीं। [मैट्यू] के बाद (http://stackoverflow.com/users/259778/matthew) ने मुझे डुप्लिकेट प्रश्न के बारे में देखा, मैंने स्वीकृत उत्तर पढ़ा और आपको एक संपादन का सुझाव दिया। –