Unless you are doing some custom work with the WP loop, you don't really need to know much PHP. I think if you want to develop a theme, it's more important that the theme itself is tight, that its HTML and CSS validate. (Later on, people will download it and add sloppily constructed plugins that will cause the HTML to not validate, but as long as it does so when you release it to the public, you are fine.)
Here's one other tip for you, worth exactly what you paid for it. :)
If you decide to include in your sidebar the code for some of the more popular plugins (such as Alex King's share this, recent comments, etc.), it's always best to leave a "plugin parachute" as I call it. The code below tells WP to ignore that code IF the plugin is not installed or activated. This keeps the sidebar from throwing up on itself if the person using your theme hasn't downloaded or activated that particular plugin. Just another way to tidy up after yourself. The example below is for MTDewVirus's Recent Comments plugin:
Normally, the plugin code looks like this:
<ul>
<?php mdv_recent_comments() ?>
</ul>
You want to add some code like I mentioned above to tell WP to ignore the plugin call if it's not installed:
<?php if (function_exists('mdv_recent_comments')) { ?>
<ul>
<?php mdv_recent_comments() ?>
</ul>
<?php } ?>
Notice this code before the actual plugin code:
<?php if (function_exists('mdv_recent_comments')) { ?>
And this code afterward:
<?php } ?>