我想从逗号分隔的字符串变量中删除一个值 例如hdnListCL =“'ABC','PQR','XYZ'” 我想删除其中任何一个,如何在不将其转换为数组的情况下执行此操作? HTML代码
<input type="hidden" name="hdnlistCL" id="hdnlistCL"/>
<table>
<tr>
<td>
<div id="ProjList"><?php print $strLocName; ?></div><br/>
<input type="text" name="txtCommonLocation" id="txtCommonLocation" size="40" value=""/>
<img src="images/plus.gif" title="Click Here" onclick="AddNewLocation()" style='cursor:pointer;' align="right"/> </td>
</tr>
</table>
的javascript
<script type="text/javascript" src="../scripts/jquery.min.js"></script>
<script type="text/javascript">
function AddNewLocation()
{
var listCL = "";
this.strProjName;
if ( typeof strProjName == 'undefined' ) {
strProjName = '';
}
var newLoc = document.getElementById('txtCommonLocation').value;
document.getElementById('txtCommonLocation').value = "";
if(document.getElementById('hdnlistCL').value == '')
{
document.getElementById('hdnlistCL').value =newLoc;
}
else
{
document.getElementById('hdnlistCL').value += ","+newLoc;
}
listCL = newLoc;
if(listCL != '')
{
strProjName = strProjName + '<div id="'+listCL+'">'+listCL+'<div class="close" onclick="removeLocation(\''+listCL+'\')"></div></div>';
}
// alert(strProjName);
$('#ProjList').html(strProjName);
}
function removeLocation(pLocation)
{
var hdnListLocation = document.getElementById('hdnlistCL').value;
if(window.confirm("Are you sure you want to delete this?"))
{
url = 'test_st.php';
$.post(
url,
{"act":"Delete","DelLocation":pLocation,"hdnListLocation": hdnListLocation},
function(responseText){
alert(responseText);
return false;
window.location="test_st.php";
},
"html"
);
return false;
}
}
</script>
php code
<?php
if(isset($_POST['act']))
$act = $_POST['act'];
if($act == "Delete")
{
$arrhdnListLocation = explode(",", $_POST['hdnListLocation']);
if(in_array($_POST['DelLocation'],$arrhdnListLocation))
{
print("I want to remove'".$_POST['DelLocation']."' from hdnlistCL");
exit();
}
else
{
print("No");
exit();
}
}
?>
当我点击关闭按钮时,我想从hdnlistCL中删除该位置。我怎么能这样做? hdnListCL的值是ABC,PQR,XYZ我想从这个
中删除PQR答案 0 :(得分:2)
请试试这个
$hdnListCL ="'ABC','PQR','XYZ'";
$hdnListCL=explode(',',$hdnListCL);
$index = array_search('PQR',$hdnListCL);
if($index !== false){
unset($hdnListCL[$index]);
}
$hdnListCL=implode(',',$hdnListCL);
print_r($hdnListCL);
答案 1 :(得分:2)
$string = "'ABC','PQR','XYZ'";
$remove = "'PQR'";
// you can use array_diff method to remove specific array item
$result = array_diff(str_getcsv($string), array($remove))
echo implode(',', $result); // output is "'ABC','XYZ'"