如何在PHP中连接字符串与条件?(How to concatenate string in php with conditions?)
我在php文件中写了查询,我的查询是:
$query = "SELECT cc.NAME complex_check_name,f.name server_name, sgk.NAME single_check_name,cc.operator FROM complex_check cc, lnksinglechecktocomplexcheck lk, single_checks sgk, functionalci f , lnkconfigurationitemtosinglecheck lkcg WHERE cc.id = lk.complex_check_id AND sgk.id = lk.single_check_id and sgk.id = lkcg.single_check_id AND lkcg.config_item_id = f.id "; if ($result=mysqli_query($link,$query)) { while ($obj=mysqli_fetch_object($result)) { $list= $obj->complex_check_name . "@". $obj->server_name . ";". $obj->single_check_name . $obj-> operator; echo $list .'<br>'; } }结果是:
test_com_check_sep01@INFRASEP01;cpu check sep01& test_com_check_sep01@INFRASEP01;DB check sep01& test_com_check_sep01@INFRASEP01;disk space check sep01& test_com_check_sep02@INFRASEP02;cpu check sep02|| test_com_check_sep02@INFRASEP02;db check sep02|| test_com_check_sep02@INFRASEP02;disk space check sep02||如何将字符串连接为:
"test_com_check_sep01=INFRASEP01;cpu check sep01&INFRASEP01;DBcheck sep01&INFRASEP01;disk space check sep01" "test_com_check_sep02=INFRASEP02;cpu check sep02||INFRASEP02;db check sep02||INFRASEP02;disk space check sep02"I wrote query in php file ,my query is:
$query = "SELECT cc.NAME complex_check_name,f.name server_name, sgk.NAME single_check_name,cc.operator FROM complex_check cc, lnksinglechecktocomplexcheck lk, single_checks sgk, functionalci f , lnkconfigurationitemtosinglecheck lkcg WHERE cc.id = lk.complex_check_id AND sgk.id = lk.single_check_id and sgk.id = lkcg.single_check_id AND lkcg.config_item_id = f.id "; if ($result=mysqli_query($link,$query)) { while ($obj=mysqli_fetch_object($result)) { $list= $obj->complex_check_name . "@". $obj->server_name . ";". $obj->single_check_name . $obj-> operator; echo $list .'<br>'; } }The result is :
test_com_check_sep01@INFRASEP01;cpu check sep01& test_com_check_sep01@INFRASEP01;DB check sep01& test_com_check_sep01@INFRASEP01;disk space check sep01& test_com_check_sep02@INFRASEP02;cpu check sep02|| test_com_check_sep02@INFRASEP02;db check sep02|| test_com_check_sep02@INFRASEP02;disk space check sep02||How can I concatenate the string as:
"test_com_check_sep01=INFRASEP01;cpu check sep01&INFRASEP01;DBcheck sep01&INFRASEP01;disk space check sep01" "test_com_check_sep02=INFRASEP02;cpu check sep02||INFRASEP02;db check sep02||INFRASEP02;disk space check sep02"最满意答案
您可以将值存储到数组中,然后进行内爆。
$check = array(); if($result = mysqli_query($link,$query)) { while($obj = mysqli_fetch_object($result)) { // If value is not stored in check array proceed if(!in_array($obj->complex_check_name,$check)) $list[$obj->complex_check_name][] = $obj->complex_check_name."="; $list[$obj->complex_check_name][] = $obj->server_name.";".$obj->single_check_name.$obj->operator; // Store in check array $check[] = $obj->complex_check_name; } // Loop through stored rows and implode with break foreach($list as $array) { echo implode("<br />",$array); } }You could store the values into an array and implode afterwards.
$check = array(); if($result = mysqli_query($link,$query)) { while($obj = mysqli_fetch_object($result)) { // If value is not stored in check array proceed if(!in_array($obj->complex_check_name,$check)) $list[$obj->complex_check_name][] = $obj->complex_check_name."="; $list[$obj->complex_check_name][] = $obj->server_name.";".$obj->single_check_name.$obj->operator; // Store in check array $check[] = $obj->complex_check_name; } // Loop through stored rows and implode with break foreach($list as $array) { echo implode("<br />",$array); } }更多推荐
发布评论