גישה לערכים במערך PHP
-
יש לי מערך (שהדפסתי אותו עם print_r) שהחלק הראשון שלו הוא כדלהלן:
XF\Entity\Post Object ( [_uniqueEntityId:XF\Mvc\Entity\Entity:private] => 9 [rootClass:protected] => XF\Entity\Post [_useReplaceInto:protected] => [_newValues:protected] => Array ( ) [_values:protected] => Array ( [post_id] => 1262 [thread_id] => 288 [user_id] => 4 [username] => chagold [post_date] => 1584230524 [message] => s [ip_id] => 4327 [message_state] => visible [attach_count] => 0 [position] => 0 [likes] => 0 [like_users] => a:0:{} [warning_id] => 0 [warning_message] => [last_edit_date] => 0 [last_edit_user_id] => 0 [edit_count] => 0 [embed_metadata] => [] ) [_relations:protected] => Array ( [Thread] => BoardOfProfessionals\XF\Entity\Thread Object ( [_uniqueEntityId:XF\Mvc\Entity\Entity:private] => 8 [rootClass:protected] => XF\Entity\Thread [_useReplaceInto:protected] => [_newValues:protected] => Array ( ) [_values:protected] => Array ( [thread_id] => 288 [node_id] => 141 [title] => s [reply_count] => 0 [view_count] => 0 [user_id] => 4 [username] => chagold [post_date] => 1584230524 [sticky] => 0 [discussion_state] => visible [discussion_open] => 1 [discussion_type] => [first_post_id] => 1262 [first_post_likes] => 0 [last_post_date] => 1584230524 [last_post_id] => 1262 [last_post_user_id] => 4 [last_post_username] => chagold [prefix_id] => 0 [tags] => a:0:{} [custom_fields] => a:0:{} [demo_portal_featured] => 0 [BoardOfProfessionals_featured] => 1 [TagsToBoardOfProfessionals] => הנהלת חשבונות )
איך אני ניגש לערך node_id שנמצא מתחת _relations:protected
? -
שים לב שמה שהדפסת הוא אובייקט ולא מערך רגיל, בתוכו יש מערכים וגםם הם יכולים להיות אובייקטים או שהם מחזיקים אובייקטים
למערך יש לגשת עם סוגריים מרובעות ואילו לאובייקט יש לגשת עם חץ.
כך שבמקרה דנן נראה שתצטרך לכךNAME_OBJ-> _relations['Thread']->_values['node_id'];
-
זה מערך בתוך אובייקט, צריך לגשת לקרביים של האובייקט ב-
->
ולהמשיך כרגיל
בסה"כ זה אמור להיות כך
$obyect -> _relations:protected["Thread"]->_values:protected["node_id"];
אם זה לא עובד, תוכל להשתמש ב-
var_dump();
בכדי לקבל את המידע איזה סוג אובייקט הוא כל חלק בפלט דלעיל