PHP 连接到变量

PHP concatenate to variable

我有以下功能可以向选定的用户发送消息

function send_msg($user_id, $title, $message){
$args = array( 'recipients' => $user_id, 'sender_id' => bp_loggedin_user_id(), 'subject' => $title, 'content' => $message );
$thread_id = messages_new_message1( $args );
messages_delete_thread($thread_id,bp_loggedin_user_id());
}

这是由以下代码调用的,post表单

// Get data from form
    $body_input=isset($_POST['body_input'])?$_POST['body_input']:'';
    $subject_input=isset($_POST['subject_input'])?$_POST['subject_input']:'';

// Loop sending a message for each recipient
foreach(array_column($user_ids, 'user_id') as $user_N) {
    send_msg($user_N, $body_input, $subject_input);    
}

我想在 send_msg

之前编辑 subject/title 和邮件正文

我试过了

$args = array( 'recipients' => $user_id, 'sender_id' => bp_loggedin_user_id(), 'subject' => $title.'some text', 'content' => $message );

这确实有效,但是当我尝试

$args = array( 'recipients' => $user_id, 'sender_id' => bp_loggedin_user_id(), 'subject' => $title.'some text', 'content' => $message.'some text' );

它发送消息两次,一次使用 titlebody,另一次使用 title.what_I_appendbody.what_I_append

我也试过这种方式,但是这个不行post

$body_input=isset($_POST['body_input'])?$_POST['body_input']:''.'some text to append';

如何正确连接到用于主题和正文的变量?

快速回答跟随我的评论:

我建议 send_msg() 只关注发送消息。

因此,在将这些值发送到 send_msg() 函数之前附加到主题和正文。

<?php

//Personally i wouldnt append to an empty value, your choice.
$subject = isset($_POST['subject_input']) 
    ? $_POST['subject_input'].' appended text'
    : ''
$body= isset($_POST['body_input']) 
    ? $_POST['body_input'].' appended text' 
    : '';

send_msg($user_id, $title, $body);

希望对您有所帮助