在 C 中,字符串的最后一个字符总是 '\0' PHP 也一样吗?如果不是,那么 PHP 中字符串的最后一个字符是什么?
问问题
1182 次
4 回答
3
PHP 中的字符串是二进制安全的,这意味着它们也可以包含\0
。因此,没有可以使用的终止字符。
相反,字符串的长度单独存储在 PHP 的内部变量表示中。这也使字符串长度计算更快。
我有一个 csv 文件,其中包含一些数据库数据。现在我必须将每一行数据转换为 sql 格式。csv文件中的数据如下:“abc,abc,1243,abc”我必须让它们像这样“'abc','abc',123,'abc'”。
首先,您应该fgetcsv()
为此使用;它将整行(或某些情况下的行)变成一个数组。
我猜你想将这些值存储到数据库中;你可以使用这个:
if ($arr = fgetcsv($f)) {
$stmt = $db->prepare('INSERT INTO tablename VALUES (?, ?, ?, ?)');
$stmt->execute($arr);
}
这假设您的 CSV 中的每一行都有四个项目;为了使其更通用,您可以使用长度$arr
来构造要在查询中添加的占位符的数量。
于 2012-11-15T08:23:12.827 回答
1
要遍历字符串中的字符,请编写:
for (i = 0; i < strlen($string); i++) {
$char = substr($string, $i, 1);
// Do stuff with $char
}
于 2012-11-15T08:15:34.393 回答
1
我认为它应该工作
$lastChar = substr($string, -1);
于 2017-03-31T13:45:33.697 回答
0
for( $i = 0, $len = strlen( $string ); $i < $len; $i++ )
{
$char = $string[ $i ];
// do something with $char
}
...是一种方法。
另一种方法是简单地使用 PHP 函数str_split()
(它创建字符串的单个字符的数组(除非您将第二个参数传递给它,$split_length
其长度与默认值不同)):
foreach( str_split( $string ) as $char )
{
// do something with $char
}
... ETC。
编辑:
作为您对问题的评论的附录;用于fgetcsv()
解析 csv 文件。
于 2012-11-15T08:16:56.847 回答