【问题标题】:explode the strings from the file in php在php中分解文件中的字符串
【发布时间】:2015-05-15 10:40:23
【问题描述】:

由于我是 PHP 新手。我正在尝试分解文件中的字符串。我只希望部分字符串显示在 html 字段中。 所以这是我的完整代码:-

<?php 
 if(isset($_POST["Submit"]))
{
	$lhs= array();
   	$rhs= array();
    foreach($_POST as $key => $value){
     	if($key == "Submit") continue;
     	echo $key ."=". $value ;
    	echo "<br>";
    	$lhs[]=$key; //first array for left hand side 
    	$rhs[]=$value; //second array for right hand side
    	}
	
	file_put_contents("file2.txt", implode(PHP_EOL, array_map(function($v1, $v2)
  	{
	  return "$v1=$v2";
  	},$lhs, $rhs)));
}
$file_contents=file_get_contents("file2.txt");
$data=explode("=" ,$file_contents);
print_r($data);
?>

	<form name="form1" method="post" action="">
	Name: <input type="text" name="name" value="<?php echo "$data[0]";?>"><br>
    Phone No: <input type="text" name="phone" /><br/>
    Course:<input type="text" name="course" /> <br />
    <input type="submit" name="Submit" value="Sign Up">
    </form> 
    

输出会是这样的

name=xyz
phone=12334
course=bba
Array ( [0] => name [1] => xyz phone [2] => 12334 course [3] => bba )

现在我只想显示像

这样的值
 xyz
 12334
 bba

在各自的 html 字段中。如果我在文件中编辑一些值,当我刷新/重新加载页面时,这些值也会在 html 字段中更新。 而且我不确定这种方法是否正确或不能满足我的要求。

如有任何帮助或建议,我们将不胜感激。在此先感谢。

【问题讨论】:

  • 我理解正确吗:您想再次显示用户刚刚在各自输入字段中发送的值吗?或者问题是如何从您保存的file2.txt 中取回值?
  • 来自 file2.txt 的只有值而不是键。是的,我希望显示用户刚刚在各自的输入字段中发送的值。

标签: php html file explode


【解决方案1】:
$str=implode(",",$data);

$str1=str_replace(" ",",",$str);
$output_array=explode(",",$str1);
print_r($output_array);

这会给你这样的数组

Array
(
    [0] => name
    [1] => xyz
    [2] => phone
    [3] => 12334
    [4] => course
    [5] => bba
)

现在你可以使用这个数组了

你还可以把它做成这样的关联数组

$arr_values=array();
for($i=0;$i<sizeof($output_array);$i++)
{
$arr_values[$output_array[$i]] = $output_array[++$i];
}
print_r($arr_values); 

这会给你这样的

Array
(
    [name] => xyz
    [phone] => 12334
    [course] => bba
)

【讨论】:

    【解决方案2】:

    PHP_EOL = PHP 行尾,与 \n 或 \r\n 相同。 您应该使用制表符 \r 或一些空格。

    implode('\t', array_map(function($v1, $v2))
    

    【讨论】:

      【解决方案3】:
      > $str = "Hello world. It's a beautiful day."; $data= explode(" ",$str);
      > 
      > echo $data[0];  //hello echo $data[1];  //world.
      

      【讨论】:

        猜你喜欢
        • 2012-12-29
        • 2020-03-12
        • 2023-03-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多