2016-10-20 3 views
-1

Я пытаюсь создать следующую переменную:Добавить переменную номер до конца существующей переменной

$v = $current_user->wpum_field_11; 

из следующих двух переменных:

$a = $current_user->wpum_field_; 
$b = $user_id = get_post_meta($postid, 'user-id', true); 

Я попробовал несколько вариантов вокруг :

$v = $a . $b; 

... но это просто выводит номер 11.

+0

Не уверен, чего вы пытаетесь достичь, но это звучит как очень злополучная идея, полная ошибок и головных болей, когда вы переходите на повторный просмотр этого кода. В любом случае, '$ a = '$ current_user-> wpum_field _';' должен делать трюк. – MonkeyZeus

+1

Каждый раз, когда вы обнаруживаете, что используете нумерованные переменные, вы почти наверняка должны использовать массив. – Barmar

ответ

0

Используйте это, создавая полное имя атрибута программно.

$attrName = "wpum_field_"; 
$number = $user_id = get_post_meta($postid, 'user-id', true); 

$attribute = $attrName.$number; 

$v = $curren_user->$attribute; 
+0

Большое спасибо Dez, мне просто нужно было удалить «= $ user_id» со второй строки. Что это за техника, известная как? Еще раз спасибо, – Scot

+0

@Scot Это называется «переменные переменные» – Barmar

+0

Я не уверен, имеет ли он конкретное имя, но он генерирует имена атрибутов через переменные. Я отредактировал свой код, потому что вы генерировали имена атрибутов, а не методы, даже если этот же подход будет работать, если вы хотите программным образом генерировать вызовы методов объектов. – Dez

Смежные вопросы